我使用capistrano
部署rails app。我已在rbenv
文件中设置capistrano-rbenv
并使用deploy.rb
部署时出现错误消息:
Could not find rake-10.1.0 in any of the sources
Run `bundle install` to install missing gems.
在我运行bundle install
时在服务器上,我得到Could not locate Gemfile
$ gem env
返回
RubyGems Environment:
- RUBYGEMS VERSION: 1.8.23
- RUBY VERSION: 1.9.3 (2012-04-20 patchlevel 194) [x86_64-linux]
- INSTALLATION DIRECTORY: /var/lib/gems/1.9.1
- RUBY EXECUTABLE: /usr/bin/ruby1.9.1
- EXECUTABLE DIRECTORY: /usr/local/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /var/lib/gems/1.9.1
- /home/deployer/.gem/ruby/1.9.1
- /usr/share/rubygems-integration/1.9.1
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/
答案 0 :(得分:0)
您应通过ssh
登录确认服务器上有rake 10.1。它是对您的过程的依赖。
Rake与其他任何宝石一样,所以在服务器上运行
gem install rake -v=10.1.0
如果gem which
没有返回任何内容,那么您需要先安装rubygems,例如
apt-get install rubygems
确保apt-get正确配置您的PATH
。您可能需要重新提供.bash_profile
(或者您的shell的任何一个 - 或者再次登录以获得新的shell
如果出现更多细节,我会更新此答案。
答案 1 :(得分:0)
我最终删除了capistrano-rbenv
宝石,它终于成功了。
答案 2 :(得分:0)
如果您在capistrano/bundler
中要求Capfile
,请务必在deploy.rb
中指定gemfile位置:
# setup bundler
set :bundle_gemfile, -> { release_path.join('Gemfile') }