【问题标题】:cap deploy - RVM not found上限部署 - 未找到 RVM
【发布时间】:2018-01-16 16:03:59
【问题描述】:

我得到了这个日志:

(Backtrace restricted to imported tasks)
cap aborted!
SSHKit::Runner::ExecuteError: Exception while executing as 
ubuntu@13.58.220.78: rvm exit status: 127
rvm stdout: bash: /home/ubuntu/.rvm/bin/rvm: No such file or directory
rvm stderr: Nothing written


Caused by:
SSHKit::Command::Failed: rvm exit status: 127
rvm stdout: bash: /home/ubuntu/.rvm/bin/rvm: No such file or directory
rvm stderr: Nothing written

Tasks: TOP => rvm:check
(See full trace by running task with --trace)

执行上限生产部署后。 关键是,RVM 安装在那里,在它正在寻找的确切路径中。

请指教。

【问题讨论】:

    标签: ruby-on-rails rvm capistrano capistrano3 rvm-capistrano


    【解决方案1】:

    我最终不得不这样做才能解决这个问题(花了几个小时):

    ln -s /usr/share/rvm/bin/rvm .rvm/bin/rvm
    

    【讨论】:

      【解决方案2】:

      您可能需要将 rvm 添加到 PATH 变量中。否则 capistrano 找不到它,你也不能从 CLI 运行它。

      PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
      export PATH
      
      [[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
      

      将此行添加到您的主目录的 .bashrc 文件中。确保重新启动会话或source .bashrc

      【讨论】:

      • 还是一样,很遗憾。
      • su 进入部署用户并将其添加到那里。或者你正在部署的用户。
      • 我正在使用root用户部署,所以我将它添加到root bashrc。还是一样
      • 在将行添加到 bashrc 后,您可以从路由用户运行 rvm 吗?为了清楚起见,我们正在谈论远程机器。不是你当地的
      • 确实彼得,rvm 命令在服务器上运行良好,但 capistrano 仍然无法识别它。我找到了解决该问题的方法,使用 deploy.rb 本身的 rvm install,但现在我有另一个与 puma 无关的问题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-21
      • 2013-12-14
      • 2011-09-09
      • 1970-01-01
      • 2013-11-04
      • 2012-05-17
      相关资源
      最近更新 更多