我设置了Capistrano来部署我的应用程序。我是按步骤制作的,所以首先我设置代码部署,所以我评论了所有角色,但:app
。
我正在使用rvm
,我遇到了一些问题。最大的问题是/usr/bin/env: ruby: No such file or directory
错误。我使用gem capistrano/rvm
解决了这些问题,并在Capfile
中要求它并将以下行添加到deploy.rb
文件中:
set :default_env, { path: "/usr/local/rvm/gems/ruby-2.0.0-p247@global/bin:$PATH" }
正确运行代码部署后,我激活了de :db
角色以执行迁移。我得到了同样的错误,但这次我找不到解决方案。
~$ cap production deploy:migrate
…
…
INFO [85d6241d] Running bundle exec rake db:migrate on 10.10.51.10
DEBUG [85d6241d] Command: cd [PROJECT_SRC]/current
&& ( PATH=/usr/local/rvm/gems/ruby-2.0.0-p247@global/bin:$PATH RAILS_ENV=production bundle exec rake db:migrate )
DEBUG [85d6241d] /usr/bin/env: ruby: No such file or directory
cap aborted!
当我直接在shell中执行它时,此命令正确运行。
提前谢谢!
答案 0 :(得分:2)
最后,它使用gem 'rvm1-capistrano3', require: false
。这似乎是我的设置的最佳选择(Rails4.0.1,ruby-2.0.0-p247,capistrano3)。它不需要特殊配置。
你可以找到它here。
希望它有所帮助!
答案 1 :(得分:1)
我有类似的问题,这个宝石帮助了我: https://github.com/wayneeseguin/rvm-capistrano
答案 2 :(得分:1)
如果你没有使用rvm,那么问题通常是你必须在服务器上手动安装bundler gem。
gem install bundler
答案 3 :(得分:0)
你有没有试过官方的卡皮斯特拉诺宝石?这对我有帮助,也许你的用例类似。
的Gemfile:
...
gem 'capistrano', '~> 3.2.0'
gem 'capistrano-rvm'
gem 'capistrano-rails'
...
Capfile:
require 'capistrano/setup'
require 'capistrano/deploy'
require 'capistrano/rvm'
require 'capistrano/bundler'
require 'capistrano/rails/migrations'
...