问题描述
我的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
管理。