我将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用户是相同的,所以我很丢失。任何提示?
答案 0 :(得分:1)
问题是:
sudo npm link
我在install命令之后运行并安装所有依赖项。修复是:
sudo npm link --production