Ruby не может найти необходимые библиотеки, даже если установлен gem - PullRequest
5 голосов
/ 17 ноября 2010

Я потратил буквально несколько дней, пытаясь установить ruby ​​1.9.2 и заставить его работать с гемами: - / В конце концов я отказался от своей машины Mac OSX 10.6, и ниже показано текущее состояние моей машины с Ubuntu.Буду признателен за любой совет!

# ruby test.rb
<internal:lib/rubygems/custom_require>:29:in `require': no such file to load -- mongo (LoadError)
 from <internal:lib/rubygems/custom_require>:29:in `require'
 from test.rb:1:in `<main>'
# cat test.rb
require 'mongo'
db = Mongo::Connection.new.db("mydb")
# gem which mongo
/usr/local/rvm/gems/ruby-1.9.2-p0/gems/mongo-1.1.2/lib/mongo.rb
# cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.10
DISTRIB_CODENAME=maverick
DISTRIB_DESCRIPTION="Ubuntu 10.10"

Согласно этой странице: http://docs.rubygems.org/read/chapter/19 Я сделал символическую ссылку, какой рубин я использовал, чтобы соответствовать тому, который использует самоцвет:

# which ruby
/usr/local/rvm/bin/ruby
# ls -l `which ruby`
lrwxrwxrwx 1 root root 44 2010-11-17 13:25 /usr/local/rvm/bin/ruby -> /usr/local/rvm/rubies/ruby-1.9.2-p0/bin/ruby
# gem env | grep 'RUBY EXECUTABLE'
  - RUBY EXECUTABLE: /usr/local/rvm/rubies/ruby-1.9.2-p0/bin/ruby
# which gem
/usr/local/rvm/bin/gem
# gem -v
1.3.7
# ruby -v
ruby 1.9.2p0 (2010-08-18 revision 29036) [i686-linux]

Ответы [ 5 ]

6 голосов
/ 18 ноября 2010

Попробуйте поставить следующую строку в начале

require "rubygems"
2 голосов
/ 18 ноября 2010

Почему на вашем пути /usr/local/rvm/ отображается «rvm»?Вы выполняли общесистемную установку как системный администратор, используя администрирование Ruby в масштабе всей системы для нескольких пользователей?

Вы добавили [[ -s '/usr/local/lib/rvm' ]] && source '/usr/local/lib/rvm' в ~/.bashrc, ~/.bash_profile или ~/.profile (в зависимости от того, что вы настроили)?

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

Примечание для себя: Купить акции в RVM.Это слишком круто.

1 голос
/ 10 сентября 2011

Я рекомендую вам сделать rvm implode и удалить текущую настройку. Затем используйте скрипт railsready , чтобы правильно настроить RVM и Ruby для вас в Ubuntu. Важно понимать, что пока вы не знаете, что делаете, вы должны запускать скрипт как пользователь. Надеюсь, это поможет.

1 голос
/ 18 ноября 2010

Работает ли он в Ruby 1.8.7, который предварительно установлен по умолчанию в OS X?

Если это так, то разница между 1.9.1 и 1.9.2 заключается в том, что "." больше не является частью пути $:.

0 голосов
/ 18 ноября 2010

На linux и OS X мне всегда приходилось ставить require "rubygems" в начале. Тем не менее, он всегда работал нормально без этой строки в Windows.

...