У меня есть npm v 1.2.32
Когда я запускаю: $ npm install mongo-migrate
он не устанавливает mongodb, который является devDependency.
Что я делаю неправильно?
У меня есть npm v 1.2.32
Когда я запускаю: $ npm install mongo-migrate
он не устанавливает mongodb, который является devDependency.
Что я делаю неправильно?
Когда вы устанавливаете пакет из репозитория NPM, зависимостей dev также не будут автоматически установлены (потому что эти зависимости не должны быть необходимы для правильной работы основного пакета).
Вам нужно явно указать npm для установки зависимостей dev:
npm install mongo-migrate --dev
Обновление
Команда --dev
устарела.
npm WARN install Использование параметра
--dev
устарело. Вместо этого используйте--only=dev
.
npm install mongo-migrate --only=dev
Хотя это и не связано напрямую с этим вопросом, некоторым может быть интересно узнать, что если переменная окружения NODE_ENV
установлена на production
, npm будет игнорировать devDependencies
при выполнении npm install
.
npm i <package> # without devDependencies
cd node_modules/<package>
npm i # include devDependencies
"npm я --dev" неверно, поскольку он рекурсивно устанавливает devDependencies.
У меня только одна и та же проблема, только из-за того, что у меня были devDependencies, которые были определены дважды в моем package.json.
Я написал это вручную с ошибкой и во время поиска неисправностей запускал некоторые установки --save-dev, которые заставляли его отображаться дважды. Кстати, если вы включили "devDependencies" дважды в свой пакет package.json, npm не установит их.
Мне иногда приходилось устанавливать devDependencies даже с NODE_ENV = production.
Я обычно использую это обходное решение.
// temporarily change NODE_ENV to other value...
NODE_ENV=development npm install