使用全新安装的 Ruby 1.9.2(通过 RVM)、Textmate 和 Handcrafted Haml 包,我在尝试使用它时遇到以下错误:
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:827:in report_activate_error': Could not find RubyGem haml (>= 0) (Gem::LoadError) from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:261:inactivate' from /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/rubygems.rb:68:in `gem' from -e:1
我运行 sudo gem install haml 并成功安装。 ruby -v 的输出是 1.9.2p180。似乎 TextMate 仍在寻找我的系统 (Mac OS X) 版本的 Ruby,而不是我安装的新版本 (1.9.2)。当我查看 RVM 管理的 Ruby 1.9.2 安装的 gemsets 时,加载了 Haml gem。关于如何让 TextMate 在我新的/正确的 gemset 中搜索 gem 有什么想法吗?
最佳答案
您需要告诉 TextMate 使用哪个 Ruby。正如您所猜测的,并且可以从错误中看出,TextMate 的 PATH 导致它使用 /usr/bin/ruby
。查看这些问题及其答案:
- How do I get Textmate to use MacRuby?
- TextMate, rvm and TM_RUBY
- Using RVM with different gemsets in TextMate
我个人在 /usr/local/bin
中使用我自己的非 RVM 手工编译的 Ruby,所以我进入了
TextMate->首选项->高级->Shell 变量
并创建一个名为 PATH
的变量,并将其设置为
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
请注意,我已将 /usr/local/bin
放在 /usr/bin
之前,以便找到我的 ruby
在系统之前。
关于ruby - 找不到 RubyGem haml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5696376/