2010-11-06 1 views
6

Этот человек заводит меня орехами. Я могу загрузить драгоценный камень с помощью IRB:Gem загружается в irb, но не в консоль

[email protected]:/var/www/listings$ irb 
irb(main):001:0> Gem.path 
=> ["/home/steve/.gem/ruby/1.9.1", "/usr/local/ruby/lib/ruby/gems/1.9.1"] 
irb(main):002:0> require 'nokogiri' 
=> true 

Но я не могу загрузить его с помощью консоли рельсах:

irb(main):001:0> Gem.path 
=> ["/home/steve/.gem/ruby/1.9.1", "/usr/local/ruby/lib/ruby/gems/1.9.1"] 
irb(main):002:0> require 'nokogiri' 
=> false 

Драгоценный камень (nokogiri) установлен

[email protected]:/var/www/listings$ gem which nokogiri 
/usr/local/ruby/lib/ruby/gems/1.9.1/gems/nokogiri-1.4.3.1/lib/nokogiri.rb 

И сверток согласен

[email protected]:/var/www/listings$ bundle show nokogiri 
/usr/local/ruby/lib/ruby/gems/1.9.1/gems/nokogiri-1.4.3.1 

Но, конечно, грабли спекуляция терпит неудачу с

/usr/local/ruby/lib/ruby/gems/1.9.1/gems/activesupport-3.0.1/lib/active_support/dependencies.rb:304:in `rescue in depend_on': No such file to load -- Nokogiri (LoadError) 

Другие окружающей среды Информация:

[email protected]:/var/www/listings$ ruby --version 
ruby 1.9.2p0 (2010-08-18 revision 29036) [i686-linux] 
[email protected]:/var/www/listings$ rails --version 
Rails 3.0.1 
[email protected]:/var/www/listings$ gem env 
RubyGems Environment: 
    - RUBYGEMS VERSION: 1.3.7 
    - RUBY VERSION: 1.9.2 (2010-08-18 patchlevel 0) [i686-linux] 
    - INSTALLATION DIRECTORY: /usr/local/ruby/lib/ruby/gems/1.9.1 
    - RUBY EXECUTABLE: /usr/local/ruby/bin/ruby 
    - EXECUTABLE DIRECTORY: /usr/local/ruby/bin 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - x86-linux 
    - GEM PATHS: 
    - /usr/local/ruby/lib/ruby/gems/1.9.1 
    - /home/steve/.gem/ruby/1.9.1 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :benchmark => false 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - REMOTE SOURCES: 
    - http://rubygems.org/ 

Любые предложения ??

Редактировать

Кстати, Nokogiri находится в Gemfile и перевяжите установки завершается без жалоб.

Это проект, который я перехожу из окон в Ubuntu. На окнах он работает нормально (как ни странно!), Поэтому я уверен, что это среда.

+0

Это в вашем Gemfile? –

+0

Конечно, см. Ответ ниже .. – lambinator

ответ

14

требует возврата false, если этот файл уже загружен. Попробуйте в своем сеансе irb, выполнив инструкцию require дважды в строке. Второй ответ будет возвращен false:

irb(main):001:0> require 'nokogiri' 
=> true 
irb(main):002:0> require 'nokogiri' 
=> false 

Если файл не найден, потребовать, чтобы он поднял LoadError.

Ваше сообщение об исключении (такой файл для загрузки - Nokogiri), похоже, что для него требуется «Nokogiri» вместо «nokogiri», что может быть проблемой для чувствительной к регистру операционной системы.

+3

Мое предположение также является случайной проблемой, которая «исчезает» в нечувствительной к регистру среде Windows. Я предлагаю OP попробовать 'grep -FR Nokogiri .' (от корня приложения), чтобы попытаться найти прописные (-е) упоминания. –

+0

Спасибо вам обоим, это была проблема с обсадной колонной .. это привыкает. :) – lambinator

1

Убедитесь, что вы требуете его в своем Gemfile и выполните установку пакета.

Редактировать - Попробуйте рубигемы, затем nokogiri.

+0

Gemfile уже содержит запись для gem 'nokogiri' и установка пакета успешно завершается. – lambinator

+0

Часть редактирования помогла, когда я пытался загрузить gem через irb (без проекта rails). – MadCoder

Смежные вопросы