我有 npm v 1.2.32
当我运行时: $npm install mongo-migrate
它不安装作为 devDependency 的 mongodb。
我究竟做错了什么?
虽然与这个问题没有直接关系,但有些人可能会感兴趣的是,如果环境变量NODE_ENV
设置为production
,npm 将devDependencies
在执行时忽略npm install
。
当您从 NPM 存储库安装包时,开发依赖项也不会自动安装(因为这些依赖项不是使主包正常工作所必需的)。
您还需要明确指示 npm 安装开发依赖项:
npm install mongo-migrate --dev
更新
该--dev
命令已被弃用。
npm WARN install
--dev
不推荐使用该选项。改为使用--only=dev
。
npm install mongo-migrate --only=dev
npm i <package> # without devDependencies
cd node_modules/<package>
npm i # include devDependencies
“npm i --dev”不正确,因为它递归安装 devDependencies。
我只是遇到了同样的问题,只是因为我在 package.json 中定义了两次 devDependencies。
我用手动拼写错误的方式编写了它,并且在故障排除期间运行了一些 --save-dev 安装,这使它出现了两次。顺便说一句,如果您在 package.json 中包含两次“devDependencies”,npm 将不会安装它们。
即使使用 NODE_ENV=production,我有时也不得不安装 devDependencies。
我通常使用这种解决方法。
// temporarily change NODE_ENV to other value...
NODE_ENV=development npm install