Не может найти gem rails - Gem:: GemNotFoundException
Использование ubuntu 10.04, rvm. Сначала я установил ruby 1.9.2 с rvm, gem rails и сгенерировал новый проект и успешно начал его. Все работает нормально. Но после перехода на другой проект, выполнение команды установки пакета (вывод выглядит ОК) и запуск сервера rails - происходит ошибка:
рельсы s
/home/jacek/.rvm/rubies/ruby-1.9.2-p318/lib/ruby/site_ruby/1.9.1/rubygems.rb:316:in `bin_path': can't find gem rails ([">= 0"]) with executable rails (Gem::GemNotFoundException)
from /home/jacek/.rvm/gems/ruby-1.9.2-p318/bin/rails:19:in `<main>'
рельсы списка драгоценных камней
*** LOCAL GEMS ***
rails (3.2.2)
gem env
RubyGems Environment:
- RUBYGEMS VERSION: 1.8.18
- RUBY VERSION: 1.9.2 (2012-02-14 patchlevel 318) [i686-linux]
- INSTALLATION DIRECTORY: /home/jacek/.rvm/gems/ruby-1.9.2-p318
- RUBY EXECUTABLE: /home/jacek/.rvm/rubies/ruby-1.9.2-p318/bin/ruby
- EXECUTABLE DIRECTORY: /home/jacek/.rvm/gems/ruby-1.9.2-p318/bin
- RUBYGEMS PLATFORMS:
- ruby
- x86-linux
- GEM PATHS:
- /home/jacek/.rvm/gems/ruby-1.9.2-p318
- /home/jacek/.rvm/gems/[email protected]
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :benchmark => false
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- http://rubygems.org/
Мой путь (включает EXECUTABLE DIRECTORY:/home/jacek/.rvm/gems/ruby-1.9.2-p318/bin)
/home/jacek/.rvm/gems/ruby-1.9.2-p318/bin:/home/jacek/.rvm/gems/[email protected]/bin:/home/jacek/.rvm/rubies/ruby-1.9.2-p318/bin:/home/jacek/.rvm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
Буду благодарен за любую помощь
Ответы
Ответ 1
Если вы используете команду bundle install
для установки ваших драгоценных камней с GEMFILE
, она установит драгоценные камни в ваше системное местоположение по умолчанию для драгоценных камней, как указано в комплекте здесь. После этого вы можете использовать команду bundlers bundle exec
для выполнения команды в контексте пакета как описано в документах здесь. Это обеспечит выполнение версии используемого вами камня с помощью bundle install
.
Если вы посмотрите на домашнюю страницу для поставщика пакетов, в которой содержится обзор документов, в нем указано следующее:
В некоторых случаях выполнение исполняемых файлов без execle exec может работать, если исполняемый файл будет установлен в вашей системе и не будет втягивать какие-либо драгоценные камни, конфликтующие с вашим пакетом.
Однако это ненадежно и является источником значительной боли. Даже если он выглядит так, как будто он работает, он может не работать в будущем или на другой машине.
Я предполагаю, что вы запускаете gem which rails
в своей консоли, а затем запустите bundle show rails
в своей консоли, установленная по умолчанию установка рельсов для вашей системы отличается от установленной для вашего пакета.
Вы говорите, что используете rvm
для управления ruby
и gem
. Я думаю, вы, возможно, неправильно настроили его. Попробуйте выполнить команду rvm notes
на консоли, чтобы убедиться, что вы указали все необходимые/рекомендуемые шаги для установки на вашей ОС. Вы хотите убедиться, что исполняемые файлы для rvm
являются первыми вещами, включенными в ваш путь, когда вы в идеале выполняете echo $PATH
. Это гарантирует, что драгоценные камни, установленные для rvm
, будут выполняться при попытке выполнить их без префикса bundle exec
. Если rvm notes
не дает вам подсказок, необходимых для этого, попробуйте внимательно просмотреть документы для установки на веб-сайте RVM.
Ответ 2
Для меня только что установленщик. Это заставляет все работать снова.
gem install bundler --no-ri --no-rdoc
Ответ 3
Вы можете переключать версию между Ruby с $ rvm use --default 2.4.0
например
Но для вашей проблемы попробуйте следующее:
-
$ gem install bundler
-
$ gem install rails
Надеюсь, это поможет!
Ответ 4
Я думаю, что команда ниже будет работать
gem pristine rails