npm安装dev依赖于生产

时间:2016-01-26 10:42:36

标签: node.js deployment npm capistrano

我将NODE_ENV设置为production并尝试使用包含以下内容的Capfile安装依赖项:

run "cd #{latest_release} && npm config set production=true && npm install --production"

或者这个:

run "cd #{latest_release} && npm install --production"

但我总是得到dev依赖项,这很烦人,因为在几个版本之后所有的inode都被占用了,我无法在部署机器上创建任何其他文件。

我在Capfile中设置了这样的环境变量:

set :default_environment, {
 'NODE_ENV' => 'production'
}
run "echo $NODE_ENV"

它回应了正确的值。

如果我执行

npm install --production

从shell中,它可以正常工作。使capistrano部署的用户和这个shell用户是相同的,所以我很丢失。任何提示?

1 个答案:

答案 0 :(得分:1)

问题是:

sudo npm link

我在install命令之后运行并安装所有依赖项。修复是:

sudo npm link --production