【问题标题】:"You have already activated" message even when using bundle exec即使在使用 bundle exec 时也会出现“您已经激活”消息
【发布时间】: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


【解决方案1】:

您需要按照说明进行操作,如果安装程序告诉您存在不兼容的设置,那么您需要清除它们,通常这样就可以了:

rm -f ~/.gemrc

一个常见的解决方案是禁用文档(服务器上不需要,而且没有多少用户在本地使用它们):

echo 'gem: --no-ri --no-rdoc' > ~/.gemrc

两者都将摆脱旧的 ~/.gemrc 强制 gemhome / gempath - 这是必需的,因为此变量由 RVM 通过环境变量 GEM_HOME / GEM_PATH 控制。

~/.gemrc 固定后运行:

rvm use 1.9.3 --default --install

它将确保 ruby​​ 已安装、设置为默认值并正确加载到当前环境中。

【讨论】:

  • 我没有安装任何 ruby​​ 版本,但是在重新安装 RVM 后...查看更新
  • 其实rvm current返回systemruby -v 返回1.9.3...我觉得安装新的Ruby不太合适,AMI已经有了,我觉得AMI很难处理。
  • 好的,如果您不使用 RVM 来安装 rubies,请说明您需要 RVM 做什么?
  • hmm,其实我用的AMI里面默认安装的。
猜你喜欢
  • 2011-11-26
  • 2011-11-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-02
  • 2017-08-22
相关资源
最近更新 更多