我试图使用Capistrano,乘客和RVM将Rails应用程序从Windows开发机部部署到Debian 9 VPS。我在VPS上设置了RVM,并在Windows机器上设置了Apache,并设置了Apache。但是,当我尝试运行cap production deploy
时,我会收到以下错误:
bundler: failed to load command: rake (/var/www/APPNAME/shared/bundle/ruby/2.4.0/bin/rake)
在Windows上开发的一个怪癖是必须在部署上编辑Gemfile.lock
才能删除Windows特定版本的GEM。我写了一个自定义任务来执行此操作,这似乎按预期运行。
这是一些可能有用的文件:
- log/capistrano.log,从自定义任务开始
- gemfile
- gemfile.lock
- capfile
- config/decloy.rb
- config/deploy/production.rb
- lib/capistrano/tasks/dewindowsify.rake(自定义任务)
我将邦德勒(Bundler)降级为1.12.5(以前是1.15.4版)后,解决了问题。我认为与Bundler的设置和更新版本存在某种冲突。但是,在修补了基本问题之前,我将继续使用旧版本。