node.js - 让 Capistrano 运行 shell 任务的问题(nodejs 部署)

标签 node.js capistrano npm

我正在使用 capistrano 部署一个 node.js 应用程序,并且有一个 设置 shell 任务的问题。 例如,以为我安装了 npm 失败了:

运行“npm 安装” 找不到 npm

当我使用

运行“/opt/nvm/'cat/opt/nvm/alias/default'/bin/npm install” 错误是找不到 Node

部署由专门的用户负责部署。

请问是什么原因导致了这个问题,如何解决?

最佳答案

使用 NVMCapistrano 通过 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/

相关文章:

javascript - 使用 Node 和 Angular 从 Last.fm API 获取搜索结果

javascript - .forEach() 在 EJS 中不打印任何内容

ruby-on-rails - Rails Capistrano 3 - 如何将 production.log 文件共享到 Capistrano 的共享文件夹中?

ruby-on-rails - cap deploy :update_code fails? 后调用哪个任务

javascript - 转译 next.js 服务器代码

node.js - Express session 存储:MongoError:_id上的E11000重复键错误收集

ruby-on-rails - 使用 capistrano 重新启动 delayed_job 时,它并不总是创建 pid 文件

javascript - "file"参数必须是字符串类型。在 npm run deploy 到 gh-pages 时接收到类型未定义

reactjs - npm 模块上的无效钩子(Hook)调用

javascript - devDependencies 是否与 `npm install -g my-package` 一起安装?