【问题标题】:Why am I seeing reference to a gemset of another project in my current project?为什么我在当前项目中看到对另一个项目的 gemset 的引用?
【发布时间】:2012-12-13 22:08:28
【问题描述】:

我最近创建了一个新的 Rails 项目,并且我相信我在生成应用程序之前为它创建了一个 gemset。

但是当我遇到错误时,我会收到这样的消息:

File /.rvm/gems/ruby-1.9.3-p194@project_1/gems/activerecord-3.2.8/lib/active_record/relation/finder_methods.rb

即使我在project_2。所以理论上应该是ruby-1.9.3-p194@project_2而不是project_1

这是什么原因造成的,我该如何解决?

谢谢。

附:我正在使用 RVM。

编辑 1:

我跑了rvm gemset list,这是输出:

project_2$ rvm gemset list

gemsets for ruby-1.9.3-p194 (found in /Users/marcamillion/.rvm/gems/ruby-1.9.3-p194)
   project_1
=> project_2
   project_3

编辑 2:

在为该项目创建了.rvmrc 文件后,我刚刚在我的project_2 目录中运行了gem install rails,并验证了它确实专门为该项目使用了gemset。但是,当我再次生成错误时,我仍然在 project_1 中看到对 gemset 的引用。

编辑 3:

rvm current 的输出:

$ rvm current
ruby-1.9.3-p194@project_2

编辑 4:

虽然,当我在与 rails s 相同的终端窗口中运行 rvm current 时,我看到了:

$ rvm current
ruby-1.9.3-p194@project_1

那么,我现在和将来如何在所有终端窗口中设置 gemset?

【问题讨论】:

  • 您从rvm gemset list 获得该输出,但您仍然收到上述project1 错误?
  • @pferdefleisch 是的......我仍然收到这个错误,即使我做了 jim-stewart 在下面的答案中建议的操作。顺便说一句,我什至重新启动了我的服务器,所以不确定发生了什么。
  • gem install rails 并尝试再次生成它之后会发生什么?
  • 生成什么?我的整个应用程序?这是一个现有的应用程序,如果我不需要,我并不急于重新生成。这是唯一的解决方案吗?
  • 在我的Gemfile 中将rails 版本从3.2.8 更改为3.2.9 后,我只是重新运行gem install rails 然后bundle update rails。但是我仍然从 diff 项目中的 gemset 中得到错误。

标签: ruby-on-rails ruby ruby-on-rails-3 rvm gemset


【解决方案1】:

您需要告诉 RVM 使用哪个 gemset。试试这个:

rvm gemset use project_2

如果可行,那么您可能希望在 project_2 的根目录中创建一个 .rvmrc 文件,以便在您进入目录时自动切换到该 gemset:

cd /path/to/project_2
rvm --rvmrc --create 1.9.3@project_2

这将在/path/to/project_2 中创建一个.rvmrccd 退出目录并返回,它会提示您询问您是否信任.rvmrc 文件。默认情况下,它只会在第一次询问您。

编辑:

需要注意的是,在创建新的.rvmrc 时,需要在所有打开的终端会话(包括rails srails console)中将cd 移出项目目录。否则,应用程序将继续使用来自 project_1 的 gemset。

【讨论】:

  • 这很奇怪,我已经在使用 project_2 的 gemset。但我的project_2 目录中从来没有.rvmrc。谢谢!
  • 顺便说一句,即使我这样做了,我仍然收到上述错误。我还用我在rvm gemset list 时看到的内容更新了这个问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-19
  • 1970-01-01
相关资源
最近更新 更多