我把gem安装在Gemfile的共享路径中,就像Capistrano默认做的那样,当我运行:
bundle exec rake assets:precompile RAILS_ENV=production我得到了:
You have already activated rake 0.9.2.2, but your Gemfile requires rake 10.0.4. Using bundle exec may solve this.请看:
cat Gemfile.lock | grep rake返回:
rake (>= 0.8.7)
rake (10.0.4)这是我的gem environment输出:
- RUBYGEMS VERSION: 1.8.24
- RUBY VERSION: 1.9.3 (2013-06-27 patchlevel 448) [x86_64-linux]
- INSTALLATION DIRECTORY: /home/bitnami/my_app/shared/bundle/ruby/1.9.1/
- RUBY EXECUTABLE: /opt/bitnami/ruby/bin/ruby
- EXECUTABLE DIRECTORY: /home/bitnami/my_app/shared/bundle/ruby/1.9.1/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /home/bitnami/my_app/shared/bundle/ruby/1.9.1/
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- "gemhome" => "/home/bitnami/my_app/shared/bundle/ruby/1.9.1/"
- "gempath" => ["/home/bitnami/my_app/shared/bundle/ruby/1.9.1/"]
- REMOTE SOURCES:
- http://rubygems.org/更新
which -a rake
/opt/bitnami/rvm/bin/rake
/opt/bitnami/ruby/bin/rake更新2
我试着给rake提供完整的路径,但是同样的问题
更新3
重新安装RVM后
* WARNING: Found gemhome in /home/bitnami/.gemrc, please remove it, as it will break rubygems in RVM.
* WARNING: Found gempath in /home/bitnami/.gemrc, please remove it, as it will break rubygems in RVM.
If it is intended or a mistake 'export rvm_ignore_gemrc_issues=1' to avoid this warning.我现在该怎么做?我在那里添加了gem_home,因为我希望我的gem安装在我想要的目录中,不确定这是不是正确的方式。
发布于 2013-07-03 19:46:45
你需要遵循说明,如果安装程序告诉你有不兼容的设置,那么你需要清除它们,通常这样做就可以了:
rm -f ~/.gemrc一种常见的解决方案也是禁用文档(服务器上不需要,而且本地使用它们的用户也不多):
echo 'gem: --no-ri --no-rdoc' > ~/.gemrc两者都将摆脱强制gemhome / gempath的旧~/.gemrc -这是必需的,因为这个变量是通过环境变量GEM_HOME / GEM_PATH由RVM控制的。
~/.gemrc修复后运行:
rvm use 1.9.3 --default --install它将确保ruby已安装,设置为默认设置,并正确加载到当前环境中。
https://stackoverflow.com/questions/17439783
复制相似问题