需要'twitter-text'宝石时加载错误

时间:2012-10-04 10:00:28

标签: ruby-on-rails rubygems

我正在尝试在我的Rails 3应用程序中使用twitter-text-rb(https://github.com/twitter/twitter-text-rb)。

我使用bundler和我的gemfile安装它 - 看似成功 - 但是当我尝试在我的Application Helper中包含它的自动链接功能时,就像这样:

require 'twitter-text'
module ApplicationHelper
include Twitter::Autolink
end

当我尝试加载应用的根目录时,我在浏览器中收到此错误:

  

路由错误   未初始化的常量Twitter :: Autolink尝试运行rake路由   有关可用路线的更多信息。

我已经在Ruby Gems manual内遵循了这些疑难解答问题,但它似乎不是他们在“为什么要求'some_gem'失败?”中提出的两个可能的问题。

以下是我使用终端从我的应用程序根目录中按照说明进行的摘录:

manager$ gem list twitter-text

*** LOCAL GEMS ***

twitter-text (1.5.0)
manager$ ruby -rubygems -e 'require "twitter-text"'
/Library/Ruby/Site/1.8/rubygems/custom_require.rb:60:in `gem_original_require': no such file to load -- twitter-text (LoadError)
    from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:60:in `require'
    from -e:1
manager$ gem contents --no-prefix twitter-text | grep lib
lib/twitter-text.rb
lib/twitter-text/autolink.rb
lib/twitter-text/deprecation.rb
lib/twitter-text/extractor.rb
lib/twitter-text/hit_highlighter.rb
lib/twitter-text/regex.rb
lib/twitter-text/rewriter.rb
lib/twitter-text/unicode.rb
lib/twitter-text/validation.rb
manager$ ruby -rubygems -e 'require "twitter-text"'
/Library/Ruby/Site/1.8/rubygems/custom_require.rb:60:in `gem_original_require': no such file to load -- twitter-text (LoadError)
    from /Library/Ruby/Site/1.8/rubygems/custom_require.rb:60:in `require'
    from -e:1
manager$ which ruby
/usr/bin/ruby
manager$ gem env | grep 'RUBY EXECUTABLE'
  - RUBY EXECUTABLE: /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/bin/ruby

我在应用程序中使用了一些其他宝石,之前没有遇到过类似的问题。

我不知道接下来会尝试什么。我对Ruby / Rails很新(以及一般的编程!)所以任何帮助都会非常感激。

谢谢,

马特

1 个答案:

答案 0 :(得分:0)

我现在已经有了这个宝石工作并删除了加载错误(虽然我不能肯定说什么是正确的)。

我安装了RVM并使用Ruby 1.9.2和Rails 3.2.3尝试了我的app和twitter_gem。我之前使用的是系统默认的Ruby - 1.8.7 - 和Rails 3.2.3。宝石正确加载并完美地工作。

所以看起来好像问题是gem工作在早期版本的Ruby或RVM的gemsets帮助应用程序正确加载gem。