我使用 RVM 将 Ruby 1.9.2 从补丁级别 p180 升级到 p290:
rvm upgrade 1.9.2-p180 1.9.2-p290
然后,我使用这些命令来更新我的 Rails gem 和其他 gem
gem install rails 3.0.5
gem update
一切似乎都很好;rvm info
显示所有 Ruby 二进制文件和 gem 都已移动到正确的 p290 路径 (~/.rvm/*/ruby-1.9.2-p290/*)。
但是,当我转到我的 Rails 应用程序目录并发出命令rails console
时,我收到一条错误消息,指出 gem (activesupport-3.0.5) 无法加载libruby.1.9.1.dylib
文件。
上午 10:30 ~/Development/rails_projects/my_app_0515 $ rails 控制台
/Users/whk/.rvm/gems/ruby-1.9.2-p290/gems/activesupport-3.0.5/lib/active_support/dependencies.rb:239:in `require': dlopen(/Users/whk/.rvm /gems/ruby-1.9.2-p290/gems/serialport-1.0.4/lib/serialport.bundle, 9):库未加载:/Users/whk/.rvm/rubies/ruby-1.9.2-p180/ lib/libruby.1.9.1.dylib (LoadError) 引用自:/Users/whk/.rvm/gems/ruby-1.9.2-p290/gems/serialport-1.0.4/lib/serialport.bundle 原因:图像不是找到 - /Users/whk/.rvm/gems/ruby-1.9.2-p290/gems/serialport-1.0.4/lib/serialport.bundle 。. .
Rails 在 中找不到 dylib 文件~/.rvm/rubies/ruby-1.9.2-p180/lib
,因为p180
路径不再存在,但文件在~/.rvm/rubies/ruby-1.9.2-p290/lib
.
从一个单独的StackOverflow 帖子中,我发现一种解决方法是将这一行添加到 .bashrc
export DYLD_LIBRARY_PATH="/Users/whk/.rvm/rubies/ruby-1.9.2-p290/lib:$DYLD_LIBRARY_PATH"
但是,我想了解为什么 rvm ruby 升级不处理 lib 路径更改?有谁知道更清洁的解决方案 - 从配置位置删除 p180 路径的解决方案?
这是我的环境:
- Mac OS X 10.6.6(雪豹)
- 转速 1.8.4
- 红宝石 1.9.2p290
- 导轨 3.0.5
谢谢!