为什么 Travis CI 运行 "npm install" 没有生产 NODE_ENV

Why doesn't Travis CI run "npm install" with NODE_ENV production

我尝试使用以下配置在 Travis CI 中编译我的项目:

language: node_js
node_js:
  - 0.12
env:
  global:
    - NODE_ENV=production
before_install:
  # - npm run init
before_script:
  # - bower install
  # - gulp
  # - npm install
script:
  - npm install -g bower
  - npm install -g gulp
  - gulp
  - npm run lint
sudo: false

如果我在配置中设置

- NODE_ENV=production

然后 Travis CI 将编译我的项目。

Travis CI 会自动执行 运行 npm install — 我怀疑您遇到的问题是 NODE_ENVdependencies 以及 devDependencies.

如果 NODE_ENV=production,NPM 将不会安装 devDependencies(如此处所述:https://github.com/npm/npm/issues/6803)。您需要确保您需要的依赖项在正确的组中:

  • NODE_ENV=production:从 dependencies 组安装的依赖项
  • NODE_ENV=development:从 devDependencies 组安装的依赖项