2009-06-27 2 views
4

Хорошо, я только что провел 4 часа, пытаясь понять это без успеха. Я пробовал всех обычных подозреваемых и искал каждую комбинацию ruby ​​1.9.1, путь загрузки, драгоценные камни, mac os x, freebsd, креветку и другие вещи. Суть заключается в следующем:Ruby 1.9.1 Load Path Craziness

Когда я компилирую ruby1.9.1-P129 из источников на Mac OS X 10.5, путь нагрузки по умолчанию ($ :) Я получаю:

 
ruby -e "puts $:" 
/usr/local/lib/ruby/gems 
/usr/local/lib/ruby/site_ruby/1.9.1 
/usr/local/lib/ruby/site_ruby/1.9.1/i386-darwin9.7.0 
/usr/local/lib/ruby/site_ruby 
/usr/local/lib/ruby/vendor_ruby/1.9.1 
/usr/local/lib/ruby/vendor_ruby/1.9.1/i386-darwin9.7.0 
/usr/local/lib/ruby/vendor_ruby 
/usr/local/lib/ruby/1.9.1 
/usr/local/lib/ruby/1.9.1/i386-darwin9.7.0 
. 

, когда я устанавливаю креветка драгоценный камень, к примеру, я получаю:

 
gem which prawn 
(checking gem prawn-0.5.0.1 for prawn) 
/prawn.rb 

и когда я пытаюсь требовать его я получаю:

 
ruby -e "require 'prawn'" 
-e:1:in `require': no such file to load -- prawn (LoadError) 
    from -e:1:in `' 

единственный способ, которым я был аб ле, чтобы решить эту проблему, делая что-то глупое, как это:

$: << "/usr/local/lib/ruby/gems/1.9.1/gems/prawn-0.5.0.1/lib" 

, который, конечно же, совершенно нелепо. Итак, вопрос в том, как мне получить ruby ​​1.9.1, чтобы распознать и следовать правильному пути драгоценных камней? У меня никогда не было этой проблемы с 1.8.7, поэтому я предполагаю, что это 1.9.1. Я чувствую, что мне не хватает чего-то совершенно очевидного здесь, и любая помощь будет очень признательна!

+1

В качестве обновления к этому вопросу, [РВМ] (http://rvm.beginrescueend.com) быстро становится излюбленным способом установки дополнительные Rubies на Mac OS и Linux, большим количеством разработчиков. Прокрутите страницу до конца и прочитайте страницы «Установка» и «Рубиновые камни» перед установкой RVM. После установки используйте «rvm notes», чтобы узнать, какие зависимости вам понадобятся. –

ответ

9

настройки GEM_PATH =/USR/местные/Библиотека/рубин/драгоценные камни/1.9.1

решить эту проблему. Я знал, что это просто. Просто усугубляет меня, что нужно ВСЕ ДЕНЬ, чтобы понять! Это связано с тем, что у этой проблемы нет 1.8.7 и, конечно же, не RTFM !!

+0

Рад, что вы это разработали! –

1
require 'rubygems' 
require 'prawn' 

Если в 1.9 не изменились вещи, вам больше не нужно требовать рубигем в первую очередь.

+1

рубин 1.9 больше не требуется (каламбур) рубигемы, но только для того, чтобы быть тщательным я пробовал это, а также без успеха. – ennuikiller

3

та же проблема на kubuntu кармическая.

установка:

$ sudo apt-get install build-essential ruby1.9.1-full libsqlite3 libsqlite3-dev rubygems1.9 
$ sudo gem install sqlite3-ruby rails thin --no-rdoc --no-ri 

результат:

$ ruby -e "require 'rubygems'; require 'sqlite3'" 
-e:1:in `require': no such file to load -- sqlite3 (LoadError) 
     from -e:1:in `<main>' 

решение:

$ export GEM_PATH=/usr/lib/ruby1.9.1/gems/1.9.1/ 
0

Я ищу другой ответ на одной и те же проблемы. В некоторых ситуациях (например, задачи запуска системы) установка переменных среды до рубиновых запусков невозможна.

Есть ли какой-нибудь способ запустить рубин (v> = 1.9.1), чтобы требовать драгоценные камни? Без настройки GEM_PATH?

+0

Как указано в исходном вопросе, вы можете нажать требуемый путь драгоценного камня до $: – ennuikiller

+1

«Решение»: Gem.activate ('gem_name'); требовать ('gem_name'); Примечательно, что этот вопрос GEM_PATH уходит с 1.9.2. – Simon

1

В следующий раз, когда у вас возникла такая проблема, не забудьте запустить gem env из командной строки. Это то, что происходит на Windows, но принцип такой же:

C:\Documents and Settings\a.grimm>gem env 
RubyGems Environment: 
    - RUBYGEMS VERSION: 1.3.5 
    - RUBY VERSION: 1.9.1 (2010-01-10 patchlevel 378) [i386-mingw32] 
    - INSTALLATION DIRECTORY: C:/Ruby19/lib/ruby/gems/1.9.1 
    - RUBY EXECUTABLE: C:/Ruby19/bin/ruby.exe 
    - EXECUTABLE DIRECTORY: C:/Ruby19/bin 
    - RUBYGEMS PLATFORMS: 
    - ruby 
    - x86-mingw32 
    - GEM PATHS: 
    - C:/Ruby19/lib/ruby/gems/1.9.1 
    - C:/Documents and Settings/a.grimm/.gem/ruby/1.9.1 
    - GEM CONFIGURATION: 
    - :update_sources => true 
    - :verbose => true 
    - :benchmark => false 
    - :backtrace => false 
    - :bulk_threshold => 1000 
    - REMOTE SOURCES: 
    - http://gems.rubyforge.org/ 

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

  • Нет связанных вопросов^_^