трудности установки и запуска rails (/ usr / local / bin / rails: такого файла или каталога нет), однажды вернувшись к более ранней версии rails - PullRequest
0 голосов
/ 21 марта 2019

Ошибка при выполнении rails new blah, после проекта, в котором я вернул rails к более ранней версии

рельсы работали нормально, я мог сделать rails new blah

Я хотел протестировать изменение версий рельсов для проекта. До этого момента мой опыт заключался в том, что изменение версии проекта для рельсов не изменит рельсы в глобальном масштабе! Таким образом, мой опыт показывает, что когда я выполняю CD из каталога и выполняю rails -v, я все еще на 5.2.2.1

Итак, я сделал проект с целью отодвинуться к рельсам 0.8.0 (просто как тест!)

~/rubymac/test16$ cat Gemfile | grep "^gem 'rails'"
gem 'rails', '0.8.0'
~/rubymac/test16$ 

а я bundle update rails

и без ошибок, и я увидел в Gemfile.lock, что rails 0.8.0, похоже, там указан, так что я думаю, что это сработало так долго.

Затем я сделал cd .. и rails -v, ожидая (все еще) увидеть рельсы 5.2.2.1, что было моим опытом в прошлом, когда я возвращал проект к более ранней версии рельсов. Но rails -v не сработало. И rails new blah123 тоже не сработало.

~/rubymac$ rails -v
(in /usr/local/lib/ruby/gems/2.5.0/gems/rails-0.8.0)
rake aborted!
LoadError: cannot load such file -- rake/rdoctask
/usr/local/lib/ruby/gems/2.5.0/gems/rails-0.8.0/Rakefile:3:in `<top (required)>'
/usr/local/lib/ruby/gems/2.5.0/gems/rake-12.3.2/exe/rake:27:in `<top (required)>'
(See full trace by running task with --trace)
~/rubymac$ 

и

~/rubymac$ rails new blah2432
(in /usr/local/lib/ruby/gems/2.5.0/gems/rails-0.8.0)
rake aborted!
LoadError: cannot load such file -- rake/rdoctask
/usr/local/lib/ruby/gems/2.5.0/gems/rails-0.8.0/Rakefile:3:in `<top (required)>'
/usr/local/lib/ruby/gems/2.5.0/gems/rake-12.3.2/exe/rake:27:in `<top (required)>'
(See full trace by running task with --trace)
~/rubymac$ 

Поэтому я искал и нашел этот вопрос Ошибка проекта нового рельса Rails 3 . который предложил gem install rails -v3.0.9

Так я и сделал gem install rails -v5.2.2.1

и это не дает ошибки

~/rubymac$ gem install rails -v5.2.2.1
Successfully installed rails-5.2.2.1
Parsing documentation for rails-5.2.2.1
Done installing documentation for rails after 0 seconds
1 gem installed
~/rubymac$ 

Но рельсы -v по-прежнему не работают

~/rubymac$ rails -v
(in /usr/local/lib/ruby/gems/2.5.0/gems/rails-0.8.0)
rake aborted!
LoadError: cannot load such file -- rake/rdoctask
/usr/local/lib/ruby/gems/2.5.0/gems/rails-0.8.0/Rakefile:3:in `<top (required)>'
/usr/local/lib/ruby/gems/2.5.0/gems/rake-12.3.2/exe/rake:27:in `<top (required)>'
(See full trace by running task with --trace)
~/rubymac$ 

Я делаю список драгоценных камней и вижу, какие у меня есть версии rails

~/rubymac$ gem list | grep "^rails ("
rails (5.2.2.1, 5.2.2, 5.2.1.1, 5.2.1, 5.2.0, 5.1.6, 5.1.4, 5.0.7.2, 5.0.7.1, 5.0.1, 5.0.0, 0.8.0)
~/rubymac$ 

Я попытался удалить rails 0.8.0. это также побудило меня удалить исполняемый файл, и я сказал да

~/rubymac$ gem uninstall rails -v0.8.0
Remove executables:
    rails

in addition to the gem? [Yn]  y               
Removing rails
Successfully uninstalled rails-0.8.0
~/rubymac$ gem list | grep "^rails ("
rails (5.2.2.1, 5.2.2, 5.2.1.1, 5.2.1, 5.2.0, 5.1.6, 5.1.4, 5.0.7.2, 5.0.7.1, 5.0.1, 5.0.0)
~/rubymac$ rails -v
-bash: /usr/local/bin/rails: No such file or directory
~/rubymac$ gem install rails -v5.2.2.1
Successfully installed rails-5.2.2.1
Parsing documentation for rails-5.2.2.1
Done installing documentation for rails after 0 seconds
1 gem installed

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

~/rubymac$ rails -v
-bash: /usr/local/bin/rails: No such file or directory
~/rubymac$ 

даже после попытки установить 5.2.2.1

~/rubymac$ gem install rails -v5.2.2.1
Successfully installed rails-5.2.2.1
Parsing documentation for rails-5.2.2.1
Done installing documentation for rails after 0 seconds
1 gem installed
~/rubymac$ rails -v
-bash: /usr/local/bin/rails: No such file or directory
~/rubymac$ 

Добавлена ​​

Я тогда попробовал gem uninstall rails, я удалил все версии. Затем я установил рельсы sudo gem. Я запустил новое окно терминала. рельсы -v

когда я делаю which rails, он говорит /usr/bin/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.
~$ 


~$ gem list | grep rails
coffee-rails (4.2.2, 4.2.1)
jquery-rails (4.3.1, 4.1.1)
rails (5.2.2.1)
rails-controller-testing (0.1.1)
rails-dom-testing (2.0.3, 2.0.2)
rails-html-sanitizer (1.0.4, 1.0.3)
sass-rails (5.0.7, 5.0.6)
sprockets-rails (3.2.1, 3.2.0)

на самом деле grep rail * лучше, потому что включает Railties, как указано Полностью удалить Rails

Кроме того, я не использую ни менеджер версий, ни rvm, ни rbenv

Ответы [ 2 ]

0 голосов
/ 22 марта 2019

Хорошо, решение было полностью удалить рельсы , а затем переустановить рельсы. Но проблема, с которой я столкнулся, заключалась в том, что он не полностью удалял рельсы.

Чтобы полностью удалить рельсы, здесь упоминается Полностью удалить Rails

Вы должны удалить не только рельсы, но и драгоценный камень, называемый railties!

Итак, когда вы перечисляете драгоценные камни на рельсах, не делайте | grep rails, do | grep rail (единственное число!). То есть выполните gem list | grep rail, и вы получите список драгоценных камней, связанных с железнодорожным транспортом, включая рельсы.

Я удалил / удалил все эти драгоценные камни. (хотя, возможно, мне нужно только удалить рельсы и рельсы).

Итак, я оказался в положении, когда файл rails (в osx это / usr / bin / rails) исчез, и эти драгоценные камни исчезли, и это нормально.

(то, что я не хотел, это либо a) позиция, в которой находится файл rails, и rails выдает ошибку, либо b) файл rails не существует) Так что тогда было хорошо, что он был полностью удален.

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

0 голосов
/ 21 марта 2019

Сначала попробуйте закрыть свой терминал и перезапустить. Иногда PATH не обновляется исполняемым файлом rails после установки.

Если это не удается ...

В вашем терминале запустить:

$ gem env

Это должно сказать вам, где были установлены драгоценные камни. Rails, в конце концов, просто драгоценный камень. Я использую .rbenv в качестве менеджера среды Rails. Это означает, что моя ИСПОЛНИТЕЛЬНАЯ КАТАЛОГ находится по адресу: /Users/me/.rbenv/versions/2.5.1/bin Внутри этой папки я могу сделать:

$ ls | grep rails

и я получаю:

drwxr-xr-x   3 me  group   96 Mar 14 10:59 rails

Да, Rails установлен и там существует. Если вы можете найти это, это означает, что у вас установлен Rails, но ваш PATH не может его найти. PATH - это переменная среды, которая обычно содержит список известных каталогов, содержащих исполняемые файлы. Когда я набираю rails -v, PATH проверяется. Давайте убедимся, что мой PATH работает:

/Users/me/.rbenv/shims

Хорошо. Не беспокойтесь о прокладках, все, что вам нужно знать, это то, что эта папка содержит мои исполняемые файлы rails Ваш должен быть путь к ИСПОЛНИТЕЛЬНОМУ СПРАВОЧНИКУ. Теперь добавьте свой исполняемый каталог в PATH:

export PATH=PATH:/full/path/to/EXECUTABLE_DIRECTORY

Так и должно быть. Попробуйте снова запустить рельсы. Если это не помогло, попробуйте запустить исполняемый файл rails вручную. Если это не помогло, ваш исполняемый файл испорчен или вы ищете неправильный файл (гораздо более вероятно).

Если вы не можете найти исполняемый файл rails, тогда rails DNE как-то и вам нужно попытаться переустановить.

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