Muszę zaktualizować moją wersję ruby z 2.0.0 do najnowszej wersji, nie mogę użyć niektórych klejnotów, ponieważ moja wersja nie jest zaktualizowana. Jakiś czas temu użyłem Homebrew do zainstalowania Ruby. Jak mogę zaktualizować moją wersję Ruby?
377
which rvm
lubwhich rbenv
w wierszu poleceńbrew install ruby
to, że wystarczy. sprawdź tutajOdpowiedzi:
Otwórz terminal i biegnij
Po zakończeniu tej czynności musisz ponownie uruchomić terminal, aby
rvm
polecenie działało.A teraz biegnij
rvm list known
To pokazuje listę wersji ruby.
Teraz uruchom,
rvm install ruby@latest
aby uzyskać najnowszą wersję ruby.Jeśli wpiszesz
ruby -v
terminal, powinieneś zobaczyćruby X.X.X
.Jeśli nadal pokazuje
ruby 2.0.
, uruchomrvm use ruby-X.X.X --default
.źródło
\curl -sSL https://get.rvm.io | bash -s stable --ruby
Tylko zaparzanie
Aktualizacja:
Od komentarzy (podziękowania dla Maksima Luzika) nie testowałem, ale wydaje się bardziej eleganckim rozwiązaniem:
Oryginalna odpowiedź:
Późno na imprezę, ale wystarczy napar. Zainstalowanie rvm nie jest konieczne, a dla mnie to po prostu skomplikowane rzeczy.
W
brew install ruby
rzeczywistości instalujesz najnowszą wersję (obecnie v2.4.0). Jednak Twoja ścieżka najpierw znajduje 2.0.0. Aby tego uniknąć, po prostu zmień priorytet ( źródło ). Zrobiłem to, zmieniając~/.profile
i ustawiając:export PATH=/usr/local/bin:$PATH
Po tym stwierdziłem, że gem bundlera nadal używa wersji 2.0.0, po prostu zainstaluj go ponownie:
gem install bundler
źródło
brew link --overwrite ruby
overwrite
wersji ruby możesz po prostu napisaćbrew unlink ruby && brew link ruby
brew link --overwrite ruby
prowadzi doWarning: Refusing to link macOS-provided software: ruby
Polecam rbenv * https://github.com/rbenv/rbenv
* Jeśli spełnia twoje kryteria: https://github.com/rbenv/rbenv/wiki/Why-rbenv? :
INSTALACJA
Zainstaluj Homebrew http://brew.sh
Następnie:
Ustaw wersję globalną:
Ustaw lokalną wersję repo, dodając
.ruby-version
do katalogu głównego repozytorium:W systemie MacOS odwiedź ten link
źródło
ruby -v
afterrbenv global ...
brew install rbenv
uruchomieniurbenv init
i dodaj jedną linię do .bash_profile, jak to stwierdza. Po tym ponownie otwórz okno terminala, zróbrbenv install 2.3.1
,rbenv global 2.3.1
a rbenv wykona swoją pracęrbenv rehash
porbenv global
pracował dla mnierbenv init
,ruby -v
wyświetla prawidłową wersję 2.1.2, ale uruchomienie pakietu napotyka taki błądpaperclip-5.0.0.beta1 requires ruby version >= 2.1.0, which is incompatible with the current version, ruby 2.0.0p648
. Wreszcie udaje się, aby działał z seriąrbenv rehash
. Dzięki @SeanOtwarty terminal:
To działa!
źródło
Szybki sposób na aktualizację Ruby do wersji 2.4 +
lub
źródło
/usr/local/Homebrew/Library/Homebrew/brew.rb:12:in '<main>': Homebrew must be run under Ruby 2.3! You're running 2.0.0. (RuntimeError)
ERROR: While executing gem ... (Errno::EPERM) Operation not permitted @ rb_sysopen - /System/Library/Frameworks/Ruby.framework/Versions/2.3/usr/bin/gem
Możesz określić najnowszą wersję ruby, patrząc na https://www.ruby-lang.org/en/downloads/
Pobierz najnowszą wersję:
curl -sSL https://get.rvm.io | bash -s stable --ruby
Zainstaluj to:
rvm install 2.2
Użyj go jako domyślnego:
rvm use 2.2 --default
Lub uruchom najnowszą komendę z ruby:
źródło
rbenv
nie działałorbenv
NIE zadziałałoJeśli masz Mac OS i jest
Brew
zainstalowany, możesz spróbować wykonać następujące polecenie,źródło
W przypadku, gdy ktoś otrzyma ten sam błąd, zrobiłem: „Instalacja wymagań nie powiodła się ze statusem: 1.” oto co robić:
Zainstaluj Homebrew (z jakiegoś powodu może nie działać automatycznie) za pomocą tego polecenia:
Następnie ponownie zainstaluj rvm za pomocą
Zamknij i ponownie otwórz terminal, a następnie:
źródło
Dodaj rbenv do bash, aby ładował się za każdym razem, gdy otwierasz terminalbrew install rbenv ruby-build
echo 'if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi' >> ~/.bash_profile
Zainstaluj Rubysource ~/.bash_profile
rbenv install 2.6.5
rbenv global 2.6.5
Link do strony źródłowejruby -v
źródło
W terminalu:
rvm gemset use global
źródło
Najprostszym sposobem jest zdecydowanie wprowadzenie następującego polecenia w terminalu:
Możesz dodać flagę,
--no-document
jeśli nie chcesz pobierać dokumentacji. Oto przykładowe dane wyjściowe po uruchomieniu polecenia:źródło