Emacs shell找不到ruby gems - 例如,找不到RubyGem haml(> = 0)(Gem :: LoadError)

时间:2011-06-14 15:56:08

标签: ruby emacs rubygems rvm

我的emacs shell无法加载任何已安装的ruby gem。我在尝试从emacs执行任何已安装的gem时遇到Gem :: LoadError,但它可以从Terminal工作。以下是我在环境中审核的所有信息。谢谢你的帮助!

  • 在Mac OSX Snow上运行Emacs.app 豹(来自emacsformacosx 使用通用dmg)。
  • 安装了RVM,然后使用RVM 安装Ruby 1.9.2和1.8.7。
  • 安装了几个宝石,包括 rails and haml。
  • 这些安装没有使用root。

从终端(bash),我可以运行宝石(例如,haml somepage.haml或rails创建someapp)

在emacs中,我设置了shell(bash)路径以加载与终端shell相同的路径(通过〜/ .MacOSX / application.plist)。

echo $PATH从终端和emacs

返回相同的结果

我可以从emacs shell运行IRB和rvm。

从emacs shell运行gem list显示我安装了haml(3.1.2,3.1.1)。 正在运行:which rvm, which gem, which haml #all在终端和Emacs中返回相同的路径

当我尝试执行gem(例如haml)时,我得到以下内容:

  

/Users/me/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems.rb:900:in   report_activate_error': Could not find RubyGem haml (>= 0) (Gem::LoadError) from /Users/me/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems.rb:248:in 激活'来自   /Users/me/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems.rb:1276:in   gem' from /Users/me/.rvm/gems/ruby-1.9.2-p180/bin/haml:18:in

1 个答案:

答案 0 :(得分:5)

确保您的GEM_HOME环境变量设置正确或者您可能遇到问题。 rvm确实将其从通常位置移开,bundler可以再次移动它。

如果您从主目录加载gem,这一点尤其重要,因为它们由rvm管理。