【发布时间】:2013-07-03 04:39:40
【问题描述】:
我在我的 Gemfile 中以共享路径安装 gems,就像 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 安装在我想要的目录中,但不确定这是否正确。
【问题讨论】:
-
你能粘贴“gem list rake”的输出吗?当我遇到这个问题时,我曾经卸载那个 rake 版本。即在您的情况下 gem uninstall rake -v 0.9.2.2.
-
gem 不检测 0.9.2.2 只是安装在 gem_home 的 gem。所以,假设我在 gem_home 中有 rake 10,gem list 打印 rake 10,但没有 (0.9, 10)
-
看来你使用的是bitnami。由于 bitnami,我假设它的路径问题或 RVM 的多个安装。我认为您应该阅读 RVM 的 Bitnami 文档。 wiki.bitnami.com/Components/Ruby_on_Rails/RVM#Tweaking_RVM。我刚刚在一个项目中遇到了 Bitnami 环境,并且遇到了 Apache 的问题(:这可能会对您有所帮助
标签: ruby-on-rails gem rvm capistrano bundler