StudyCode
npm, pip, semver, lock-файлы — как управлять чужим кодом в проекте.
Тебе нужна библиотека для парсинга дат:
Одна команда:
npm install dayjs # JavaScript
pip install requests # Python
cargo add serde # RustМенеджер скачивает пакет со всеми его зависимостями (transitive dependencies) из реестра.
npm (npmjs.com) ← JavaScript/Node.js (2M+ пакетов)
PyPI (pypi.org) ← Python
crates.io ← Rust
Maven Central ← Java
NuGet ← .NET/C#Каждый проект описывает свои зависимости в файле:
{
"name": "my-app",
"dependencies": {
"express": "^4.18.0",
"dayjs": "^1.11.0"
},
"devDependencies": {
"jest": "^29.0.0"
}
}dependencies — нужны в продакшне.
devDependencies — только для разработки (тесты, линтер).
// package.json — манифест проекта
{
"name": "my-api",
"version": "1.0.0",
"scripts": {
"start": "node server.js",
"dev": "nodemon server.js",
"test": "jest"
},
"dependencies": {
"express": "^4.18.2",
"dotenv": "^16.0.0"
},
"devDependencies": {
"jest": "^29.6.0",
"nodemon": "^3.0.0"
}
}
// Команды npm:
// npm install — установить все зависимости
// npm install express — добавить пакет
// npm install -D jest — добавить devDependency
// npm run dev — запустить скрипт "dev"Как npm install скачивает пакет:
npm install express
📦 npmjs.com (Registry)
2+ миллиона пакетов
node_modules/
├── express
│ ├── body-parser
│ ├── qs
│ ├── path-to-regexp
└── ...