Emacs外壳找不到红宝石宝石-例如,找不到RubyGem haml> = 0Gem :: LoadError

问题描述

我的emacs外壳无法加载任何已安装的红宝石宝石。尝试从emacs执行任何已安装的gem时,我遇到了Gem :: LoadError,但它可以从Terminal运行。这是我在环境中查看的所有信息。谢谢你的帮助! 在Mac OSX SNow上运行Emacs.app 豹(来自emacsformacosx 使用通用dmg)。 安装RVM,然后使用RVM进行 安装Ruby 1.9.2和1.8.7。 安装了几个宝石,包括 铁轨和哈姆勒。 这些安装未使用root。 我可以在Terminal(bash)中运行gem(例如,haml somepage.haml或rails创建someapp) 在emacs中,我将外壳(bash)路径设置为与终端外壳相同(通过〜/ .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在Terminal和Emacs中返回相同的路径 当我尝试执行gem(例如haml)时,得到以下信息:   /Users/me/.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems.rb:900:in   来自“3ѭactivate\”   /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
  
\'     

解决方法

        确保正确设置了“ 5”环境变量,否则可能会遇到麻烦。
rvm
确实从通常位置移动了它,and7ѭ可以再次移动它。 如果要从主目录加载gem,这尤其重要,因为它们由
rvm
管理。