Co rozumiesz przez „wprowadzenie nowego Ruby na miejsce”?
Jeśli próbujesz uruchomić go z wiersza poleceń, używając tylko polecenia ruby
, system będzie przeszukiwał każdą ze ścieżek określonych /etc/paths
w kolejności, aż znajdzie pasujące. W systemie Snow Leopard domyślny /etc/paths
plik wygląda następująco:
/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin
Więc kiedy wejdziesz ruby
w linię poleceń, system szuka /usr/bin/ruby
najpierw, znajduje ją i nie sprawdza reszty ścieżek (więc nigdy się nie dostanie /usr/local/bin/ruby
). Aby to potwierdzić, możesz wpisać which ruby
w wierszu polecenia, a system wydrukuje ścieżkę do pliku wykonywalnego, którego użyłby dla tego polecenia.
Jeśli chcesz uruchomić nowszą wersję Ruby z wiersza poleceń, po prostu wpisz /usr/local/bin/ruby
zamiast ruby
.
Jeśli używasz innego programu, który używa Ruby pośrednio, prawdopodobnie istnieje gdzieś opcja, aby określić ścieżkę do ruby
.
EDYCJA: W ostateczności możesz zastąpić wbudowaną wersję systemową Ruby nowszą wersją. Użyj następujących poleceń i po wyświetleniu monitu wprowadź hasło administratora:
cp /usr/bin/ruby ~/Desktop/ruby_OLD
sudo cp /usr/local/bin/ruby /usr/bin/ruby
Jeśli coś się psuje, odłóż to z powrotem za pomocą tego polecenia:
sudo mv ~/Desktop/ruby_OLD /usr/bin/ruby
Jednak, jak wspomnieli inni, użycie narzędzia takiego jak RVM do zarządzania Ruby byłoby lepszym pomysłem niż uaktualnienie wbudowanej instalacji.