我正在使用 capistrano 部署一个 node.js 应用程序,并且有一个 设置 shell 任务的问题。 例如,以为我安装了 npm 失败了:
运行“npm 安装”
找不到 npm
当我使用
运行“/opt/nvm/'cat/opt/nvm/alias/default'/bin/npm install”
错误是找不到 Node
部署由专门的用户负责部署。
请问是什么原因导致了这个问题,如何解决?
最佳答案
使用 NVM 和 Capistrano 通过 bash
运行命令并获取 nvm.sh
为我工作> 先归档。
我的 NVM 安装在 /opt/nvm
中,因此 npm install
任务可能如下所示:
namespace :npm do
desc 'Install the current npm environment.'
task :install do
invoke_command "bash -c '. /opt/nvm/nvm.sh && cd #{current_path} && npm install'", :via => run_method
end
end
因此无需通过从 NVM 读取别名文件来手动设置二进制文件的路径。
关于node.js - 让 Capistrano 运行 shell 任务的问题(nodejs 部署),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7299354/