运行任务时,我遇到了这个奇怪的cap
错误:
INFO[f0017d58] Running /usr/bin/env npm install --silent on default
DEBUG[f0017d58] Command: cd /var/www/myapp/releases/20141208112620 && /usr/bin/env npm install --silent
DEBUG[f0017d58] /usr/bin/env:
DEBUG[f0017d58] npm
DEBUG[f0017d58] : No such file or directory
DEBUG[f0017d58]
cap aborted!
当我通过ssh
登录时,其工作正常(使用相同的用户):
vagrant@localhost:~$ cd /var/www/myapp/releases/20141208112620 && /usr/bin/env npm install --silent
grunt-contrib-uglify@0.3.3 node_modules/grunt-contrib-uglify
├── grunt-lib-contrib@0.6.1 (zlib-browserify@0.0.1)
├── chalk@0.4.0 (has-color@0.1.7, ansi-styles@1.0.0, strip-ansi@0.1.1)
└── uglify-js@2.4.15 (uglify-to-browserify@1.0.2, async@0.2.10, optimist@0.3.7, source-map@0.1.34)
所以我无法识别出一些奇怪的东西。
感谢您的帮助。
编辑:是的,我发现了实际问题的根源。
当我登录(通过vagrant ssh
)时,我获得了与cap
获得的env不同的环境。
基本上我可以在登录时从CLI调用npm
,这将在/usr/local/node/node-default/bin/npm
中找到它,而cap
则不能,因为这些都不在它正在使用的路径中(或类似的东西)那)
答案 0 :(得分:0)
在fixe下面解决了这个问题
set :nvm_node, 'v8.9.1'
set :nvm_map_bins, %w{node npm}
gem 'capistrano-nvm'
require 'capistrano/nvm'