Не удалось найти рельсы (>= 0) среди [] (Gem::LoadError)

После установки rvm, обновления файла.gmrc, обновления rubygems и запуска gem install rails -v ">=3.1.0rc"Теперь у меня полный беспорядок:

$ rails -v
/usr/local/lib/site_ruby/1.8/rubygems/dependency.rb:247:in `to_specs': Could not find rails (>= 0) amongst [] (Gem::LoadError)
    from /usr/local/lib/site_ruby/1.8/rubygems/dependency.rb:256:in `to_spec'
    from /usr/local/lib/site_ruby/1.8/rubygems.rb:1182:in `gem'
    from /var/lib/gems/1.8/bin/rails:18

myhome@myhome-mini:~$ gem env

RubyGems Environment:
  - RUBYGEMS VERSION: 1.6.2
  - RUBY VERSION: 1.9.2 (2011-02-18 patchlevel 180) [i686-linux]
  - INSTALLATION DIRECTORY: /home/myhome/gems
  - RUBY EXECUTABLE: /home/myhome/.rvm/rubies/ruby-1.9.2-p180/bin/ruby
  - EXECUTABLE DIRECTORY: /home/myhome/gems/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86-linux
  - GEM PATHS:
     - /home/myhome/gems
     - /usr/lib/ruby/gems/1.8
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :benchmark => false
     - :backtrace => false
     - :bulk_threshold => 1000
     - "gemhome" => "/home/myhome/gems"
     - "gempath" => ["/home/myhome/gems", "/usr/lib/ruby/gems/1.8"]
  - REMOTE SOURCES:
     - http://rubygems.org/

7 ответов

Решение

Мне пришлось sudo gem install bundler чтобы это снова заработало.

У меня была похожая проблема. Не уверен, поможет ли это вам, но вы можете попробовать установить гем с rvmsudo gem install [gemname] вместо того, чтобы просто делать gem install [gemname] или же sudo gem install [gemname],

Я пытаюсь объяснить это немного из-за возражений:
Это в основном проблема пути. Если вы устанавливаете драгоценные камни с помощью gem installони, скорее всего, будут находиться в другом каталоге (например, /usr/local/) по сравнению с драгоценными камнями, установленными через упаковщик (где вы можете переопределить его с помощью --path). С помощью sudo может также установить их в другой каталог, так как sudo запускает подоболочку, которая имеет другое окружение. Вот почему у вас есть rvmsudo,

Если вы хотите увидеть различия, сравните $PATH, $GEM_HOME, $GEM_PATH а также $BUNDLE_PATH при прямом отражении, с sudo и с rvmsudo,

У меня есть проблема, похожая на эту, может быть совместимая проблема RVM. Я исправил, обновив rvm до последней версии:

curl -L https://get.rvm.io | bash -s stable --ruby

Затем вам нужно перезагрузить rvm или просто открыть новое окно терминала. Затем я переустановил пакет 'gem install bundler' и запустил 'bundle install' как обычно

rvm rubygems current

сделал трюк для меня.

Сначала убери рубин

sudo apt-get install build-essential libssl-dev libreadline5 libreadline5-dev zlib1g zlib1g-dev

чтобы установить все необходимые библиотеки, вы можете установить ruby ​​и rails

rvm install 1.9.3
rvm --default use 1.9.3
rvm gem install rails

У меня было почти то же самое сообщение при попытке сгенерировать контроллер после установки IntelliJ IDEA и соответствующего плагина для Rail Dev. Из моего каталога приложений я только что выполнил установку пакета, а затем смог снова сгенерировать контроллеры.

Я знаю, что это действительно старый вопрос, но я только недавно решил перейти на RVM на сервере, который я недавно настраивал, и у меня возникла та же проблема, когда гемы устанавливались не в том месте, и это просто испортило все.

После нескольких часов ползания через SO, я наконец понял, что в моем .gemrc файл в моей корневой папке, я предварительно настроил gemhome: and gempath: переменные, и они возились со всей системой.

После удаления этих строк все мои драгоценные камни стали рабочим имуществом.

Просто подумал, что опубликую свой ответ на случай, если кто-то окажется в том же положении.

Другие вопросы по тегам