Не удалось найти рельсы (> = 0) среди [] (Gem :: LoadError) - PullRequest
50 голосов
/ 08 июня 2011

После установки 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 ]

85 голосов
/ 08 июня 2011

У меня была похожая проблема. Не уверен, поможет ли это вам, но вы можете попробовать установить гемы с 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.

32 голосов
/ 19 октября 2011

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

6 голосов
/ 05 сентября 2012

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

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

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

5 голосов
/ 23 марта 2012
rvm rubygems current

помог мне.

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

сначала удалите ruby, затем

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
0 голосов
/ 06 апреля 2016

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

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

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

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

0 голосов
/ 18 февраля 2012

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

...