Наличие проблемы конфигурации rbenv - PullRequest
0 голосов
/ 09 апреля 2020

Мне кажется, у меня проблема с конфигурацией rbenv. В прошлом я использовал rvm с Bash, но так как я перестал работать с Ruby на Rails на коммерческом уровне, я переключился на zsh и больше не могу использовать rvm.

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

rails s
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.

Я следовал вышеизложенному и получил это:

sudo gem install rails
Password:
ERROR:  Error installing rails:
    zeitwerk requires Ruby version >= 2.4.4.

Теперь позвольте мне рассказать о том, что я сделал:

➜  alpha-blog git:(master) rbenv global 2.4.4
➜  alpha-blog git:(master) sudo gem install rails
ERROR:  Error installing rails:
    zeitwerk requires Ruby version >= 2.4.4.
➜  alpha-blog git:(master) rbenv rehash
➜  alpha-blog git:(master) sudo gem install rails
ERROR:  Error installing rails:
    zeitwerk requires Ruby version >= 2.4.4.
➜  alpha-blog git:(master) ruby -v
ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin17]
➜  alpha-blog git:(master) rvm install 2.4.4
zsh: command not found: rvm

Все, что я делал выше, следует комментариям к аналогичному посту, на который так и не был дан ответ. У меня MacBook Pro (High Sierra) середины 2015 года.

ruby -v дает мне ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin17]. Но когда я делаю rbenv install 2.4.4, он просто проходит через процесс установки, и я снова возвращаюсь к тому, с чего начал.

На самом деле теперь он говорит мне rbenv: /Users/danale/.rbenv/versions/2.4.4 already exists.

Вот как выглядит мой ~/.zshenv:

 export PATH="$HOME/.rbenv/bin:$PATH"
  1 eval "$(rbenv init -)"

1 Ответ

0 голосов
/ 09 апреля 2020

Хорошо, вот шаги, которые я должен был выполнить:

  1. brew update
  2. brew install rbenv ruby-build Что в итоге и дало мне эту ошибку:
Error: ruby-build 20180822 is already installed
To upgrade to 20200401, run `brew upgrade ruby-build`.
brew upgrade ruby-build

Что привело к следующему:

   ✗ rails s
    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.
    ➜  alpha-blog git:(master) ✗ sudo gem install rails
    Password:
    ERROR:  Error installing rails:
        zeitwerk requires Ruby version >= 2.4.4.
    ➜  alpha-blog git:(master) ✗ vim ~/.zshenv
    ➜  alpha-blog git:(master) ✗ vim ~/.zshrc
    ➜  alpha-blog git:(master) ✗ source ~/.zshrc
    ➜  alpha-blog git:(master) ✗ ruby -v
    ruby 2.4.4p296 (2018-03-28 revision 63013) [x86_64-darwin17]
    ➜  alpha-blog git:(master) ✗ sudo gem install rails
    Fetching: concurrent-ruby-1.1.6.gem (100%)
    Successfully installed concurrent-ruby-1.1.6
    Fetching: i18n-1.8.2.gem (100%)

    HEADS UP! i18n 1.1 changed fallbacks to exclude default locale.
    But that may break your application.

    If you are upgrading your Rails application from an older version of Rails:

    Please check your Rails app for 'config.i18n.fallbacks = true'.
    If you're using I18n (>= 1.1.0) and Rails (< 5.2.2), this should be
    'config.i18n.fallbacks = [I18n.default_locale]'.
    If not, fallbacks will be broken in your app by I18n 1.1.x.

    If you are starting a NEW Rails application, you can ignore this notice.

    For more info see:
    https://github.com/svenfuchs/i18n/releases/tag/v1.1.0

    Successfully installed i18n-1.8.2
    Fetching: thread_safe-0.3.6.gem (100%)
    Successfully installed thread_safe-0.3.6
    Fetching: tzinfo-1.2.7.gem (100%)
    Successfully installed tzinfo-1.2.7
    Fetching: zeitwerk-2.3.0.gem (100%)
    Successfully installed zeitwerk-2.3.0
    Fetching: activesupport-6.0.2.2.gem (100%)
    ERROR:  Error installing rails:
        activesupport requires Ruby version >= 2.5.0.
    ➜  alpha-blog git:(master) ✗ rails s
    rbenv: rails: command not found

    The `rails' command exists in these Ruby versions:
      2.5.1

gem install bundler
Fetching: bundler-2.1.4.gem (100%)
Successfully installed bundler-2.1.4
1 gem installed
➜  alpha-blog git:(master) ✗ ruby -v
ruby 2.4.4p296 (2018-03-28 revision 63013) [x86_64-darwin17]
➜  alpha-blog git:(master) ✗ rbenv global 2.5.1
➜  alpha-blog git:(master) ✗ ruby -v
ruby 2.4.4p296 (2018-03-28 revision 63013) [x86_64-darwin17]
➜  alpha-blog git:(master) ✗ rbenv versions
  system
* 2.4.4 (set by /Users/danale/Projects/alpha-blog/.ruby-version)
  2.5.1
➜  alpha-blog git:(master) ✗ rbenv local 2.5.1
➜  alpha-blog git:(master) ✗ ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin17]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...