Rails постоянно сообщает мне, что он в настоящее время не установлен


86

Я использую rvmдля управления разными рубинами и их драгоценными камнями. Моя оболочка - это zsh с oh-my-zsh с базовыми настройками. Включенные плагины oh-my-zsh: ruby, rails, osx и git. Вот команда, которую я использовал для установки ruby-1.8.7 и rails-3.0.7.

rvm install 1.8.7
rvm use 1.8.7
gem install rails -v=3.0.7

а затем я набрал railsи получил:

Rails is not currently installed on this system. To get the latest version, simply type:

    $ sudo gem install rails

You can then rerun your "rails" command.

Я также пробовал более тщательную установку, например, переустановить rubygemsпосле перехода на ruby-1.8.7 или создать совершенно новый гемсет, но безуспешно.

Вот информация о rvm:

ruby-1.8.7-p352@rails:

  system:
    uname:       "Darwin yicai.local 10.8.0 Darwin Kernel Version 10.8.0: Tue Jun  7 16:32:41 PDT 2011; root:xnu-1504.15.3~1/RELEASE_X86_64 x86_64"
    bash:        "/bin/bash => GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin10.0)"
    zsh:         "/bin/zsh => zsh 4.3.9 (i386-apple-darwin10.0)"

  rvm:
    version:      "rvm 1.8.6 by Wayne E. Seguin (wayneeseguin@gmail.com) [https://rvm.beginrescueend.com/]"

  ruby:
    interpreter:  "ruby"
    version:      "1.8.7"
    date:         "2011-06-30"
    platform:     "i686-darwin10.8.0"
    patchlevel:   "2011-06-30 patchlevel 352"
    full_version: "ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-darwin10.8.0]"

  homes:
    gem:          "/Users/nil/.rvm/gems/ruby-1.8.7-p352@rails"
    ruby:         "/Users/nil/.rvm/rubies/ruby-1.8.7-p352"

  binaries:
    ruby:         "/Users/nil/.rvm/rubies/ruby-1.8.7-p352/bin/ruby"
    irb:          "/Users/nil/.rvm/rubies/ruby-1.8.7-p352/bin/irb"
    gem:          "/Users/nil/.rvm/rubies/ruby-1.8.7-p352/bin/gem"
    rake:         "/Users/nil/.rvm/bin/rake"

  environment:
    PATH:         "/Users/nil/.rvm/gems/ruby-1.8.7-p352@rails/bin:/Users/nil/.rvm/gems/ruby-1.8.7-p352@global/bin:/Users/nil/.rvm/rubies/ruby-1.8.7-p352/bin:/Users/nil/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/sbin"
    GEM_HOME:     "/Users/nil/.rvm/gems/ruby-1.8.7-p352@rails"
    GEM_PATH:     "/Users/nil/.rvm/gems/ruby-1.8.7-p352@rails:/Users/nil/.rvm/gems/ruby-1.8.7-p352@global"
    MY_RUBY_HOME: "/Users/nil/.rvm/rubies/ruby-1.8.7-p352"
    IRBRC:        "/Users/nil/.rvm/rubies/ruby-1.8.7-p352/.irbrc"
    RUBYOPT:      ""
    gemset:       "rails"

а версия гема - 1.8.10, самая последняя.

Ответы:


92

У меня была эта проблема сегодня. Не полностью связано с вашим вопросом, но поскольку эта страница появляется в Google, когда я ищу «Rails в настоящее время не установлен в этой системе» , я подумал, что добавлю свой ответ:

Случилось так, что я какое-то время использовал Ruby 1.9.2 с рельсами, но потом мне нужно было использовать Ruby 1.8.7 для запуска другого скрипта, который я нашел.

Впоследствии я хотел вернуться к использованию версии 1.9.2 в системе, и вот тут-то и началась проблема:

$ rvm list

=> ruby-1.8.7-p352 [ x86_64 ]
ruby-1.9.2-p290 [ x86_64 ]


$ rvm use 1.9.2

Я думал, что это поможет. Но нет, это дает мне сообщение «Rails в настоящее время не установлен в этой системе» .

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

$ rvm gemset list_all


gemsets for ruby-1.8.7-p352 (found in /Users/asgeo1/.rvm/gems/ruby-1.8.7-p352)
global


gemsets for ruby-1.9.2-p290 (found in /Users/asgeo1/.rvm/gems/ruby-1.9.2-p290)
global
rails31


$ rvm use ruby-1.9.2-p290@rails31

Это сработало.


Я тоже работал на себя, хотя у меня была установлена ​​только одна версия. Он был установлен по умолчанию, но по какой-то причине не был установлен как текущий.
hcarreras 01

Спасибо - после обновления Ruby с 2.2.1 до 2.2.3 я начал получать эту ошибку. Использование rvm ruby-2.2.1 снова сделало rails счастливыми.
slocumro

110

Если вы запускаете команду rails сразу после установки rails , вам необходимо перезапустить терминал, прежде чем ваши команды будут распознаны.


17
дох! ну вот 15 минут моей жизни, я никогда не вернусь. Спасибо.
Адам Уэйт

Спасибо ... это должно было быть на высоте. глупая ошибка, которую делают все.
Шашват Кумар

Работал у меня. Но почему?
Акаш Агарвал,

@AkashAggarwal, потому что он выполняет сценарий rvm, который позволяет распознавать команды rails (шаг, который, вероятно, был добавлен в ваш .bash_profile во время установки). В качестве альтернативы вы можете сделать то, что Дхаулагири предложил перезагрузить в текущей оболочке.
Кайл Клегг

Это правильный ответ. Просто перезапустите свой терминал.
посмотрите

30

Mac OS X, rbenv и rails

У меня была такая же проблема, но с rbenvчем rvm. После проверки правильности .bash_profile.

.bash_profile

export PATH="$HOME/.rbenv/bin:/usr/local/bin:$PATH"

eval "$(rbenv init -)"

Перезагрузите оболочку

exec $SHELL -l

Проверить путь

echo $PATH

в заключение

Я неоднократно устанавливал и удалял rails, но он никогда не помещался в каталог .rbenv / bin после повторного хеширования rbenv. В конце концов, я find . -name railsудалил все возвращенные драгоценные камни и удалил направляющие. Затем:

$ gem install rails
$ rbenv rehash

$ which rails
/Users/palmerc/.rbenv/shims/rails

28

У меня была такая же проблема, и я обнаружил, что RVM не отображается как установленный, если я попробовал команду rvm. Все, что потребовалось для решения обеих проблем, - это запустить эту команду в терминале.

$ source ~/.rvm/scripts/rvm

День спас ... Что это значит? :)
ericpeters0n

13

Перезагрузите терминал, а затем повторно запустите команду rails


1
Вау, я чувствую себя такой тупой, у меня тоже получилось! Иногда
Андреа

Я использую Linux, и это работает. похоже на использование windows: D
Esgi Dendyanri

11

Rails не сообщает, что он не установлен. Ваша система Debian сообщает вам, что rails не установлены. Одна вещь о rvm заключается в том, что он полагается на некоторые сложные сценарии оболочки bash, и вам иногда нужно запустить новую оболочку, чтобы изменения появились. Вы также должны убедиться, что в ваш файл .zshrc добавлены правильные команды оболочки rvm. Также проверьте свой путь, чтобы убедиться, что путь ~ / .rvm / gems / ... включен.


1
Это было для меня, просто нужно было выйти из папки и вернуться, чтобы снова получить консоль rails. Проблема с открытыми окнами терминала в течение нескольких дней ...
toxaq

Это было и для меня. Никогда не думал закрыть окно терминала и снова открыть. Как только я сделал это после обновления Ruby, все заработало, как ожидалось.
MikeH

9

Я столкнулся с этой проблемой, используя rbenv. Оказывается, gem install railsдействительно установил Rails, но railsне был распознан как исполняемый файл. Исправление для меня заключалось в том, чтобы бежать rbenv rehash.

Я нашел это исправление и более подробную информацию о настройке Rails 5 на https://gorails.com/setup/osx/10.11-el-capitan


Для меня я сделал это rmvпосле того, как уже работал rbenv и Rails. Он сломал все, включая компакт-диск, комплект и направляющие, и теперь я буквально не могу даже щелкнуть правой кнопкой мыши трекпадом на Mac. Веселые времена.
Ka Mok

3

У меня была аналогичная проблема, но с rbenv.

Изначально я установил Ruby на bash. Затем я поигрался с .bashrc в VIM, испортил этот файл и сбросил его до значений по умолчанию. При этом я неосознанно удалил экспортированный rbenv $ PATH. Из-за этого мой терминал больше не распознал, что у меня установлен Ruby.

Я снова зашел на страницу установки ruby ​​( https://gorails.com/setup/ubuntu/15.04 ) и снова попытался настроить свой путь rbenv с помощью этой команды:

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc

Это не удалось.

К счастью, я уже переключился на zsh (с помощью oh-my-zsh) между тем временем, когда я испортил свой .bashrc, и тем временем, когда я пытался получить доступ к irb с моего терминала.

Мое решение было установить путь rbenv в руководстве по установке, но заменяя все экземпляры .bashrcс .zshrcпримерно так:

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshrc

Надеюсь это поможет!


1

Вот что я сделал. И проблема ушла. Следовательно, я думаю, проблема решена.

rvm use system

меняем на системный рубин. удалите все драгоценные камни в нем, используя предоставленную и объясненную здесь команду . Затем я устанавливаю нужные версии Ruby с нуля:

rvm install 1.8.7
rvm install rails -v 3.0.7

тогда bundle install

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


1

добавьте source ~/.rvm/scripts/rvmв свой .bashrcфайл, если рельсы устанавливаются нормально, но вы получаете сообщение об ошибке «Рельсы в настоящее время не установлены». Это меня некоторое время расстраивало, но я нашел ответ здесь: http://www.codelearn.org/blog/how-to-install-ruby-rails-screencasts-linux-mac-windows



1

Сегодня у меня была эта проблема. Я не решил это на 100%, но в новых вкладках я могу это сделать, rvm use 2.5.5а затем rails -vотлично работает.

➜  my-repo git:(next_release) ruby -v
ruby 2.5.5p157 (2019-03-15 revision 67260) [x86_64-darwin18]
➜  my-repo git:(next_release) rails -v
Rails is not currently installed on this system. To get the latest version, simply type:

    $ sudo gem install rails

You can then rerun your "rails" command.
➜  my-repo git:(next_release) rvm use 2.5.5
Using /Users/amberwilkie/.rvm/gems/ruby-2.5.5
➜  my-repo git:(next_release) rails -v
Could not find rake-12.3.3 in any of the sources
Run `bundle install` to install missing gems.
➜  my-repo git:(next_release) bundle install

1

Я столкнулся с этой проблемой, но она решена. Я использую macOS, я не использую rvm, я только использую HomeBrew, я сначала использую, gem envчтобы получить каталог установки всех драгоценных камней, мой:

$ gem env
RubyGems Environment:
   -RUBYGEMS VERSION: 3.1.2
   -RUBY VERSION: 2.7.1 (2020-03-31 patchlevel 83) [x86_64-darwin19]
   -INSTALLATION DIRECTORY: /usr/local/lib/ruby/gems/2.7.0
   -USER INSTALLATION DIRECTORY: /Users/myname/.gem/ruby/2.7.0
...

Затем вы пытаетесь перейти к, /usr/local/lib/ruby/gems/2.7.0чтобы найти каталог исполняемых файлов установленного вами гема rails, например:, /usr/local/lib/ruby/gems/2.7.0/binзатем добавьте в переменную среды path


0

У меня была та же проблема, но решение выше не помогло.

Это был мой сценарий

rvm list

=> ree-1.8.7-2012.02 [ i686 ]
   ruby-1.9.3-p125 [ x86_64 ]

which ruby
  /Users/dev/.rvm/rubies/ree-1.8.7-2012.02/bin/ruby
which rails
  /usr/bin/rails
gem list --local
  ..
  rails (3.2.8)
  rails2_asset_pipeline (0.1.20)
  railties (3.2.8)
  ..

rvm use ruby-1.9.3-p125
which ruby
  /Users/dev/.rvm/rubies/ruby-1.9.3-p125/bin/ruby
which rails
  /Users/dev/.rvm/gems/ruby-1.9.3-p125/bin/rails

Моя проблема была решена путем удаления рельсов и рельсов и переустановки рельсов при использовании ree.

Надеюсь, это поможет другим в моей ситуации, не знаю, как я в нее попал: S



0

У меня была такая же проблема, и я не мог найти ответа. Вот что я сделал:

найти текущий путь рельсов

$ which rails

возвращает что-то вроде этого: / usr / local / rails

Удалить текущую версию :

$ sudo rm -rf /usr/local/rails 

Установите рельсы

$ sudo gem install rails

2
НЕ делайте этого для Mac OS
Брюки

0

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

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

rvm get [head|stable] --auto-dotfiles

Обратите внимание: если вы используете старую версию RVM, это может обновить вашу установку, что может быть не тем, что вам нужно.


0

Возможное решение - не поддерживать два разных файла конфигурации .bash_profileи.bashrc

Решение, предложенное в этом отличном сообщении о разнице между .bash_profileи, .bashrcзаключается в том, чтобы использовать источник .bashrcиз вашего .bash_profileфайла, а затем поместить PATH и общие настройки в .bashrc.

Цитата,

добавьте следующие строки в .bash_profile:

if [ -f ~/.bashrc ]; then source ~/.bashrc fi

конец цитаты


0

У меня была эта ошибка после обновления рубина. Мне пришлось запустить установку пакета, чтобы исправить это.


0

Попробуйте явно указать gemset в вашем Gemfile:

source 'https://rubygems.org'
ruby "2.2.3"
#ruby-gemset=rails424

0

Попробуй это:

Вам необходимо изменить настройки эмулятора терминала, чтобы разрешить оболочку входа.

Иногда требуется использовать /bin/bash --loginкак команду.

$ bin/bash --login
$ rails -v

0

У меня было это сообщение на моем Mac:

Rails в настоящее время не установлен в этой системе. Чтобы получить последнюю версию, просто введите:

и это было о $PATHнеправильном. В системе используется устаревшая версия rails ( /usr/bin/ruby). Путь к выбранной вами версии ruby ​​( $HOME/.rbenv/versions/2.3.0/bin) должен предшествовать устаревшей версии системы вдоль $PATHvar, как показано ниже:

export PATH="$HOME/.rbenv/versions/2.3.0/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:$PATH"

настройте его на свою версию рубина.


0

Для MacOS (High Sierra):

Tokaido - это система установки Rails, рекомендованная на странице руководства Rails «Приступая к работе» для Mac OS. Но он не просто устанавливается, он запускает собственные сценарии оболочки. Если вы начнете использовать это, которое является источником собственной среды оболочки, а затем запустите терминал без запуска из оболочки Tokaido, это произойдет, потому что команда «rails» возвращается к исходному коду системы rails на Mac.

На мой взгляд, команда 'which rails' в обычном терминале возвращает

/usr/bin/rails

Но после запуска оболочки Токайдо 'which rails' дает следующий путь:

/Users/charlesross/.tokaido/Gems/2.2.0/bin/rails

0

В настоящее время Rails из ниоткуда не установлен, но что исправлено? rvm use ruby-2.6.0

... и проверил мой путь в .bash_profile export PATH="$PATH:$HOME/.rvm/bin"


0

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

Я запустил команду, и теперь все работает. Ни одно из приведенных выше предложений не помогло мне. Запустите команду из недавно созданного приложения Rails.

gem pristine --all
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.