我的emacs shell无法加载任何已安装的ruby gem。我在尝试从emacs执行任何已安装的gem时遇到Gem :: LoadError,但它可以从Terminal工作。以下是我在环境中审核的所有信息。谢谢你的帮助!
从终端(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:ingem' from /Users/me/.rvm/gems/ruby-1.9.2-p180/bin/haml:18:in
“
答案 0 :(得分:5)
确保您的GEM_HOME
环境变量设置正确或者您可能遇到问题。 rvm
确实将其从通常位置移开,bundler
可以再次移动它。
如果您从主目录加载gem,这一点尤其重要,因为它们由rvm
管理。