卡皮斯特拉诺在 rvm 更新后使用了错误的 ruby 版本



我有一个 capistrano 3.4.0 脚本,它已经成功部署了一个应用程序多年。 然而,今天我更新了RVM,并正在尝试部署我的rails应用程序,我正在升级到Rails 5.1.4。 卡皮斯特拉诺似乎在第一部分工作得很好,但随后抛出了这个错误......

cd /srv/www/my_app/releases/20180124210207 && ~/.rvm/bin/rvm default do bundle install --path /srv/www/my_app/shared/bundle --without development test --deployment --verbose
 DEBUG [14a8f315]   /usr/lib/ruby/1.9.1/rubygems/dependency.rb:247:in `to_specs'
 DEBUG [14a8f315]   : 
 DEBUG [14a8f315]   Could not find bundler (>= 0) amongst [bundler-unload-1.0.2, did_you_mean-1.1.0, executable-hooks-1.3.2, gem-wrappers-1.3.2, minitest-5.10.1, net-telnet-0.1.1, passenger-5.1.12, power_assert-0.4.1, rack-2.0.3, rake-12.0.0, rubygems-bundler-1.4.4, rvm-1.11.3.9, test-unit-3.2.3, xmlrpc-0.2.1]
 DEBUG [14a8f315]    (
 DEBUG [14a8f315]   Gem::LoadError
 DEBUG [14a8f315]   )

显然我不想使用 ruby 1.9.1,当我同时在 linux 中同时执行 ruby -v 时,它说 Ruby 2.4.1。 我通过使用将其设置为默认值

rvm get stable
rvm install ruby 2.4.1
sudo rvm --default use 2.4.1

我也在使用 capistrano-rvm gem,当 capistrano 脚本开始部署时,它说

 DEBUG [081254bd] Command: ~/.rvm/bin/rvm current
 DEBUG [081254bd]   ruby-2.4.1
 DEBUG [081254bd] Finished in 2.704 seconds with exit status 0 (successful).
 DEBUG [e45e0d6b] Command: ~/.rvm/bin/rvm version
 DEBUG [e45e0d6b]   rvm 1.29.3 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]

为什么它在部署过程中切换到 ruby 1.9.1? 如何让它使用我的默认 ruby 版本 2.4.1?

必须执行以下操作才能使其正常工作...

sudo chown -R your_user /home/deployer/.rvm
gem install bundler

然后运行 capistrano 脚本。

相关内容

  • 没有找到相关文章

最新更新