【问题标题】:`require': cannot load such file -- oauth`require': 无法加载此类文件 -- oauth
【发布时间】:2015-03-23 10:34:55
【问题描述】:

我很高兴使用 Emacs 的 evernote-mode 直到愚蠢地删除了 OS X 系统 ruby​​(我在 Yosemite 上)。然后我尝试通过 RVM 安装一个(先尝试 2.0,然后是 1.9),得到了所有必要的 gem,但还是坏了。抛出此消息:

 $HOME/.rvm/rubies/ruby-1.9.3-p551/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- oauth (LoadError)
from $HOME/.rvm/rubies/ruby-1.9.3-p551/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_require.rb:54:in `require'
from $HOME/.rvm/rubies/ruby-1.9.3-p551/bin/enclient.rb:40:in `<main>'

请帮我解决这个问题

upd:我没有看到重新安装系统 ruby​​(正如人们建议的那样)然后让它与我想通过 RVM 使用的那些冲突的意义。 Ruby 开发人员建议使用 RVM。我将我的默认 Ruby 符号链接到 /usr/bin/ruby。 我似乎特定的脚本使用了我没有的东西。我记得我第一次使用该脚本时很难弄清楚所有依赖项和 gem 并安装它们,经过数小时的调查终于奏效了。但这次我卡住了。

我尝试在 Emacs 之外运行脚本,它运行时没有错误(也许这还不足以找出问题所在)

我尝试运行 irb 并一个一个地要求模块。它说 => true 直到到达require 'oauth/consumer'。我想这可能是缺少的东西?我运行gem install oauth_consumer。它安装了一些 gem,现在在 irb 中对 oauth/consumer 表示 => true,但脚本仍然无法正常工作

【问题讨论】:

  • 您使用 rvm 安装了哪个版本的 ruby​​?我想不是 1.9.1
  • gem install oauth?
  • 在进行系统管理时,务必密切注意这一点,这一点非常重要。删除 Apple 的 Ruby 只是破坏了他们的一些您可能不会使用的应用程序,并且如果他们使用系统 Ruby,可能会破坏您安装的应用程序。您不能随意更换它,因为它们的安装不在标准位置,因此正常安装并不能真正解决问题。我认为您将需要重新安装操作系统,或者至少重新安装语言子集。
  • 请参阅“Is it possible to reinstall/fix Mac OS X's system ruby without doing a complete OS reinstall?”了解有关从操作系统磁盘恢复系统 Ruby 的信息。

标签: ruby emacs osx-yosemite


【解决方案1】:

我删除了系统红宝石一次。我只需要去垃圾桶并放回我删除的所有内容,它对我有用。不知道您是如何“删除”系统红宝石的。此外,如果您使用 RVM 安装了一个,那么您必须告诉 RVM 选择并使用/设置默认 ruby​​。因为 RVM 不会安装 ruby​​ 1.9.1(而是我认为你安装的更高版本)。所以你必须设置为那个版本。

像这样:

$ rvm --default use 2.1.5

不要忘记安装 oauth。希望对您有所帮助。

【讨论】:

  • 我认为 evernote-mode 不适用于最新版本,这就是我尝试切换到 1.9.3 的原因
  • 是的。正如我所说,似乎所有必要的宝石都已安装
  • 大多数在操作系统级别工作的人不使用 Finder,因此他们的更改不会被丢弃。
猜你喜欢
  • 2013-09-30
  • 2014-05-27
  • 2016-01-24
  • 2017-03-27
  • 1970-01-01
  • 1970-01-01
  • 2022-09-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多