协慌网

登录 贡献 社区

如何防止为 Node.js(package.json)安装 “devDependencies” NPM 模块?

我的 package.json 文件中有此文件(简化版):

{
  "name": "a-module",
  "version": "0.0.1",
  "dependencies": {
    "coffee-script":      ">= 1.1.3"
  },
  "devDependencies": {
    "stylus":             ">= 0.17.0"
  }
}

我在 Mac 10.6.8 上使用 NPM 1.1.1 版本。

当我从项目根目录运行以下命令时,它将同时安装dependenciesdevDependencies

npm install

我印象中,该命令安装了devDependencies

npm install --dev

如何使npm install仅安装dependencies (因此生产环境仅获取那些模块),而像npm install --dev那样同时安装dependenciesdevDependencies

答案

在开发环境(默认)中,在软件包目录中运行时, npm install命令将与其他dependencies devDependencies

使用npm install --only=prod (或--only=productiondependencies devDependencies, NODE_ENV环境变量的值无关。

资料来源: npm docs

注意:在 npm(2015-08-13)v3.3.0 之前,该选项称为--production ,即npm install --production

我也遇到了这个问题! npm install 有点令人困惑,Web 帖子不断引入 - d /-dev 标志,就好像有一个明确的 “开发” 安装模式一样。

  • npm install将同时安装 “ dependencies ” 和 “ devDependencies

  • npm install --production将仅安装 “依赖项

  • npm install --dev将仅安装 “ devDependencies

新的选项是:

npm install --only=prod

如果您只想安装 devDependencies:

npm install --only=dev