Jak mogę przełączyć się na ruby 1.9.3 zainstalowany przy użyciu Homebrew?
Zainstalowałem ruby 1.9.3 używając hombrew
Brew install ruby
Ale domyślna wersja 1.8.7 jest nadal używana. Jak Mogę zmienić osx na 1.9.3 jako domyślny ruby?
8 answers
Proponuję rzucić okiem na rvm .
Następnie możesz ustawić go jako domyślny za pomocą rvm use 1.9.3 --default
Ale jeśli jesteś zadowolony z instalacji homebrew.
Następnie wystarczy zmienić pierwszeństwo katalogów w PATH
Oto moje/etc / paths
# homebrews should always take precedence
/usr/local/bin
# the default stack
/usr/bin
/bin
/usr/sbin
/sbin
Jest to ważne ogólnie dla homebrew, w przeciwnym razie systemowa wersja git, ruby, pg_admin,... wszystkie będą używane zamiast wersji brew.
Jeśli powiesz which -a ruby
zobaczysz wszystkie zainstalowane rubiny i pierwszeństwo w PATH
Eg.
$ which -a ruby
/Users/matthew/.rvm/rubies/ruby-1.9.3-p0/bin/ruby
/Users/matthew/.rvm/bin/ruby
/usr/bin/ruby
Aktualizacja: nie sądzę, że powinieneś zmienić
/etc/paths
Zamiast tego musisz sprawdzić, który z .profile
, .bashrc
, lub {[10] } jest ładowany do powłoki i po prostu dodaj {[11] } do swojej ścieżki.
Dla mnie mam tylko .profile
. Możesz utworzyć ten plik, jeśli żaden z tych plików nie istnieje już w Twoim katalogu domowym.
# homebrews should always take precedence
export PATH=/usr/local/bin:$PATH
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-10-23 17:20:14
KRÓTKA ODPOWIEDŹ:
Po zainstalowaniu Rubiego przez homebrew zrób to:
brew link --overwrite ruby
I uruchom ponownie lub otwórz Terminal
DŁUGA ODPOWIEDŹ
Więc zrobiłem normalną instalację Rubiego używając homebrew
brew install ruby
To zainstalowane dobrze, ale nadal używało domyślnego Rubiego systemu. co zweryfikowałem robiąc:
which ruby
#/usr/bin/ruby
Więc zgodnie z sugestią Mateusza Rudy ' ego, sprawdziłem kolejność moich ścieżek/etc / i wszystko było dobrze.
Wtedy postanowiłem do zrobienia:
which -a ruby
#/usr/bin/ruby
#usr/local/bin/ruby
Więc nic nie zostało złamane jako takie.
próbowałem ponownie zainstalować ruby używając metody homebrew, a potem go znalazłem.
Homebrew wspomniał:
Warning: ruby-2.3.1 already installed, it's just not linked
Więc trzeba było:
brew link --overwrite ruby
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-08-04 02:10:17
Jeśli chcesz użyć homebrew do zainstalowania 1.9.3, możesz wykonać następujące kroki:
$ brew update
$ brew install rbenv
$ brew install ruby-build
Po zainstalowaniu rbenv i ruby-build, możesz uruchomić następujące polecenie, aby zainstalować Ruby 1.9.3.
$ rbenv install 1.9.3-p125
Teraz, jeśli chcesz używać 1.9.3 domyślnie, możesz uruchomić następujące polecenie:
$ rbenv global 1.9.3-p125
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-19 23:18:56
Miałem podobną sytuację. Zainstalowałem ruby używając Homebrew. which -a ruby
dał mi następujące wyjście:
#usr/local/bin/ruby
#/usr/bin/ruby
Co oznacza, że nowo zainstalowana wersja powinna zostać użyta, ale ruby --version
nadal zwraca starą wersję systemu.
Zamykam terminal (Cmd + Q)i po restarcie ruby --version
zwracam poprawną wersję. Upewnij się więc, że uruchom ponownie terminal po zainstalowaniu, zanim spróbujesz innych (potencjalnie niepotrzebnych) poprawek.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-05-29 15:10:10
Krótki: Zanotuj, na co chcesz go zmienić.
Jeśli jesteś na OS X i próbujesz użyć Rubiego do czegoś takiego jak Jekyll, to nie używaj homebrew, ponieważ Apple używa Rubiego do tego celu i może to nie być dobre, jeśli nie jesteś pewien, co robisz. Zamiast tego użyj rbenv lub RVM.
MNIEJ KRÓTKI: Próbowałem przełączyć się z domyślnej wersji na zaktualizowaną wersję (z 2.0), aby używać Jekyll, ponieważ wymagało to Rubiego w wersji 2.2.5 i wyższej. I zaktualizowałem go i zainstalowano wersję 2.5, ale kiedy sprawdziłem "ruby-v", nadal był to 2.0. Gdy w końcu doszedłem do zmiany domyślnej wersji, nie byłem w stanie zainstalować pakietu, którego potrzebowałem, ponieważ nie miałem uprawnień do zapisu. Na przykład, jeśli natkniesz się na coś takiego, prawdopodobnie masz ten sam problem
$ gem install jekyll bundler
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-03-22 06:57:16
Ruby został zainstalowany przez Homebrew w /usr/local/opt/ruby
. Musimy więc dodać tę ścieżkę do bash
lub Zsh
.
# Type this to find out which shell you're using (e.g., bash, Zsh)
echo $SHELL
# If you're using Bash (e.g., echo $SHELL returns /bin/bash)
echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.bash_profile
# If you're using Zsh
echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.zshrc
Następnie źródło pliku
# E.g., if you're using bash
source ~/.bash_profile
Na koniec zweryfikuj wersję Rubiego
ruby -v
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2021-01-13 23:56:52
W OSX możesz zmienić ścieżkę używając:
Sudo nano / etc / paths
A następnie dodaj ścieżkę lub zmień kolejność.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-29 15:25:04
Jako alternatywne podejście dla każdego, kto szuka odpowiedzi na to pytanie - możesz ustawić alias w swoim .bash_profile e. g
ruby="/usr/local/bin/ruby"
Tak obejrzałem problem
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-01-12 12:38:15