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, або створення абсолютно нового gemset, але без удачі.

Ось інформація про 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. Тому мені потрібно було вказати правильний 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

Дякую - після оновлення Ruby з 2.2.1 до 2.2.3 я почав отримувати цю помилку. rvm використання ruby-2.2.1 знову порадував рейки.
slocumro

110

Якщо ви запускаєте команду rails відразу після встановлення rails , вам потрібно буде перезапустити термінал, перш ніж ваші команди будуть розпізнані.


17
дох! ну, є 15 хвилин мого життя, я ніколи не повернусь. Дякую.
Адам Уейт,

Дякую ... це мало бути зверху. дурна помилка, яку роблять усі.
Шашват Кумар,

Працював у мене. Але чому?
Akash Agarwal

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

Це правильна відповідь. Просто перезапустіть термінал.
дивіться

31

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

Нарешті

Я неодноразово встановлював і видаляв рейки, але їх ніколи не розміщували в каталозі .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

Врятував день ... Що це тепер означає? :)
ericpeters0

13

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


1
Ого, я почуваюся такою німою, це теж спрацювало у мене! Іноді надмірне мислення - це не той шлях :)
Андреа

я використовую Linux, і це працює. відчуває себе схожим на використання вікон: D
Есгі Дендянрі

11

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


1
Це було для мене, просто потрібно було повернутися з папки і повернутися, щоб знову отримати консоль рейок. Проблема з тим, що вікна терміналів залишаються відкритими протягом днів ...
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. Веселі часи.
Ка Мок

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

перейти на систему рубін. видаліть усі дорогоцінні камені з нього за допомогою команди, наданої та поясненої тут . тоді я встановлюю потрібні рубінові версії з нуля:

rvm install 1.8.7
rvm install rails -v 3.0.7

тоді bundle install

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


1

додайте source ~/.rvm/scripts/rvmу свій .bashrcфайл, якщо rails встановлюється нормально, але тоді ви отримуєте повідомлення про помилку "rails наразі не встановлено". Це мене розчарувало на деякий час, але я знайшов відповідь тут: 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щоб знайти каталог виконуваного файлу встановленої вами дорогоцінної камені, наприклад:, /usr/local/lib/ruby/gems/2.7.0/binа потім додати до змінної середовища шляху


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

У мене сталася ця помилка після оновлення ruby. Мені довелося запустити "bundle install", щоб це виправити.


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. Але він не просто встановлює, він запускає власні сценарії оболонки. Якщо ви починаєте використовувати це, яке створює власне середовище оболонки, а потім запустіть термінал без запуску з оболонки Токайдо, це трапляється, оскільки команда "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.