无法加载Twitter gem - 没有这样的文件

时间:2011-09-08 07:17:35

标签: ruby ruby-on-rails-3 rubygems gem

我正在运行Ruby v1.8.7和Rails v3.0.9。

我正在尝试使用这个Twitter gem:http://twitter.rubyforge.org/,v1.7.0

指示您需要:

require 'rubygems'
require 'twitter'

但是,我收到了这个错误:

LoadError
no such file to load -- twitter

我在SO上看到1.7.0 gem与Ruby 1.8.7不兼容,所以我降级到0.9(SO回答提到的版本与1.8.x兼容),但仍然没有用。

有一件事很奇怪,如果我启动irb,并首先包含rubygems,我可以包含twitter而没有任何问题。

我不得不使用sudo安装gem,但我不认为这应该是问题。

我有什么想法可以成功地将这个twitter宝石包含在我的应用程序中?一旦我能克服这个障碍,它看起来非常容易使用。

更新:我尝试添加

gem 'twitter'

到我的Gemfile并运行bundle install,现在我收到Phusion Passenger错误:

Ruby (Rack) application could not be started
Could not find twitter-1.7.1 in any of the sources (Bundler::GemNotFound)

2 个答案:

答案 0 :(得分:6)

你需要在你的Gemfile中要求twitter gem。运行bundle install,现在再次检查。

gem 'twitter'

答案 1 :(得分:1)

事实证明我实际上能够安装twitter v.1.7.1

我从网络上收到的其他信息,我需要降级到0.9.0,结果证明是错误的。

我跑了:

sudo gem list

将特定宝石的版本与我在此处找到的版本进行比较: https://github.com/jnunemaker/twitter/blob/master/HISTORY.md(我只是搜索“依赖”这个词,看看twitter关心哪个版本。

我也发现了这个差异: https://github.com/jnunemaker/twitter/commit/ac8114c1f6ba2da20c2267d3133252c2ffc6b6a3

我将那里列出的宝石与我安装的宝石进行了比较,我确保我的系统与我在版本说明中看到的一致。通常发生的事情是我有一个宝石的多个版本,并且由于某种原因,较低版本优先。

我不确定为什么还要添加

gem 'twitter', '1.7.1'

到我的Gemfile,但是唉,这是让这些东西运转所需的最后一步。

呼!