RVM似乎与ruby-1.9.3-preview1不太匹配

时间:2011-09-27 03:50:50

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

我按照以下步骤更新了我的rvm后安装了ruby-1.9.3-preview1:

 » rvm get head
 » rvm reload
 » rvm install ruby-1.9.3-preview1

然后我为我的项目创建一个gem集并尝试使用它。

 » rvm --create ruby-1.9.3@myproject
 » rvm use ruby-1.9.3@myproject

我通过以下方式测试:

 » ruby -v                         
ruby 1.9.3dev (2011-07-31 revision 32789) [x86_64-darwin11.1.0]

但是当我尝试使用它时:

 » bundle exec rails server
/Users/<home>/.rvm/gems/ruby-1.9.2-p290@envision/gems/activesupport-3.0.7/lib/active_support/dependencies.rb:239:in `block in require': iconv will be deprecated in the future, use String#encode instead.
=> Booting WEBrick

它似乎仍在使用旧版本的Ruby。有没有其他人面对这个问题,或者我做错了什么?

修改

我原本打算安装最新的ruby-1.9.3-rc1。我转而使用它,按照上面的相同步骤,仍然有同样的问题。

1 个答案:

答案 0 :(得分:0)

我想我发现了这个问题,这似乎与rvm或ruby-1.9.3完全无关。我的bundler配置有问题。我希望这有助于任何看到没有使用宝石套装而感到惊讶的人。

所以,

 » bundle config
Settings are listed in order of priority. The top value will be used.

path
  Set for the current user (/Users/<home>/.bundle/config): "/Users/<home>/.rvm/gems/ruby-1.9.2-p290@myproject"

….

这意味着默认情况下它总是会使用路径下的gem。

 » bundle config path ''

似乎解决了这个问题。我相信有更好的方法可以通过显式删除来删除bundle config default上的任何配置覆盖。但到目前为止,这个工作有效,而且我的新宝石套装使用了1-.9.3-rc1。不幸的是,并非所有我的宝石都使用1.9.3-rc1编译,特别是gherkin-2.2.9的问题。如果有人得到它,请告诉我。我想这是一个不同的问题。

修改

 » bundle config path ''

这样做是个坏主意。我很快就意识到了我的错误,因为这会直接创建你的gemset。

 » bundle config path $GEM_HOME

在确保GEM_HOME指向.../ruby-1.9.3-rc1@myproject后,上述情况更好。所以是的,我仍然想知道如何让bundle配置使用默认值,所以我不必自己更改它。我尝试在myproject目录下编辑.bundle / config而没有运气。