Rails возвращает ошибку при попытке создать новый проект - PullRequest
0 голосов
/ 10 ноября 2018

Rails сломался в моей системе, и теперь, когда я запускаю rails new my_app, это выдает мне странную ошибку Тора.

joshuahadik -> rails new hello_world
Traceback (most recent call last):
    21: from /Users/joshuahadik/.rvm/gems/ruby-2.5.3/bin/ruby_executable_hooks:24:in `<main>'
    20: from /Users/joshuahadik/.rvm/gems/ruby-2.5.3/bin/ruby_executable_hooks:24:in `eval'
    19: from /Users/joshuahadik/.rvm/gems/ruby-2.5.3/bin/rails:23:in `<main>'
    18: from /Users/joshuahadik/.rvm/gems/ruby-2.5.3/bin/rails:23:in `load'
    17: from /Users/joshuahadik/.rvm/gems/ruby-2.5.3/gems/railties-5.2.1/exe/rails:10:in `<top (required)>'
    16: from /Users/joshuahadik/.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    15: from /Users/joshuahadik/.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    14: from /Users/joshuahadik/.rvm/gems/ruby-2.5.3/gems/railties-5.2.1/lib/rails/cli.rb:12:in `<top (required)>'
    13: from /Users/joshuahadik/.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    12: from /Users/joshuahadik/.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:54:in `require'
    11: from /Users/joshuahadik/.rvm/gems/ruby-2.5.3/gems/railties-5.2.1/lib/rails/command.rb:9:in `<top (required)>'
    10: from /Users/joshuahadik/.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:54:in `require'
     9: from /Users/joshuahadik/.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:54:in `require'
     8: from /Users/joshuahadik/.rvm/gems/ruby-2.5.3/gems/thor-0.20.1/lib/thor.rb:2:in `<top (required)>'
     7: from /Users/joshuahadik/.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:54:in `require'
     6: from /Users/joshuahadik/.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:54:in `require'
     5: from /Users/joshuahadik/.rvm/gems/ruby-2.5.3/gems/thor-0.20.1/lib/thor/base.rb:4:in `<top (required)>'
     4: from /Users/joshuahadik/.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:54:in `require'
     3: from /Users/joshuahadik/.rvm/rubies/ruby-2.5.3/lib/ruby/site_ruby/2.5.0/rubygems/core_ext/kernel_require.rb:54:in `require'
     2: from /Users/joshuahadik/.rvm/gems/ruby-2.5.3/gems/thor-0.20.1/lib/thor/error.rb:1:in `<top (required)>'
     1: from /Users/joshuahadik/.rvm/gems/ruby-2.5.3/gems/thor-0.20.1/lib/thor/error.rb:6:in `<class:Thor>'
/Users/joshuahadik/.rvm/gems/ruby-2.5.3/gems/thor-0.20.1/lib/thor/error.rb:12:in `<module:DidYouMean>': uninitialized constant Thor::DidYouMean::SpellChecker (NameError)

Я получаю ту же ошибку, когда запускаю практически любую команду rails, rails -v, rails s и т. Д.

До сих пор я пробовал несколько вещей, включая полное удаление каждой версии ruby ​​с помощью rvm, затем переустановку их, затем переустановку драгоценного камня rails. Не сработало

Я действительно понятия не имею, что происходит или почему это происходит. Любая помощь будет очень признателен.

UPDATE

Только что понял, что рельсы все еще работают в контексте существующего проекта рельсов. Поэтому, если я запускаю rails s в каталоге ранее существовавшего проекта rails, он работает просто отлично.

Ответы [ 4 ]

0 голосов
/ 11 ноября 2018

Вышла новая версия tor. Просто запустите:

gem update thor
0 голосов
/ 10 ноября 2018

Я столкнулся с точно такой же проблемой, и rails не принимает никаких команд (rails s, rails new app) и т. Д. Использование ruby ​​2.5.3 и rails 5.2.1. Это связано с глючной тор-0.20.1

Следовательно, вернул его обратно к tor-0.20.0: - gem uninstall thor (но не удаляйте исполняемые файлы при запросе) - Gem Install THOR-V 0.20.1

Это позволит вам создать новый проект, однако имейте в виду, что файл Gemfile.lock автоматически меняет версию на thor-0.20.1 (я не знаю почему). Поэтому обязательно верните его обратно на 0.20.0.

0 голосов
/ 10 ноября 2018

Решение для меня - удалить версию Gem Thor:

$ gem uninstall TH

Выберите гем для удаления: 1. Тор-0,20,0 2. Тор-0,20,1 3. Все версии

2 Успешно удалено Тор-0.20.1

0 голосов
/ 10 ноября 2018

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

Там написано, что вы используете Тор-0.20.1

Я верю, что версия Тора была выпущена СЕГОДНЯ. Предыдущая версия Thor-0.20.0 была выпущена более года назад. 0.20.0 также является версией, которую я использую.

Вероятно, есть ошибка в tor-0.20.1

Вы можете попробовать использовать bundler и Gemfile, чтобы заставить ваше приложение использовать thor-0.20.0

...