Zadanie instalowania Ruby 2.0 na najnowszym Ubuntu 14.04 wydaje mi się dość frustrujące. Wiem, że mogłem zrezygnować z pakietów i zainstalować je ze źródła - ale zdecydowanie wolałbym zainstalować pakiet - jeśli to możliwe.
Znalazłem to pytanie / odpowiedź na temat ruby 13.10 - które wyglądało tak, jak chciałem.
Niestety strategia nie wydaje się realna - pakiet ruby-switch został usunięty w 14.04.
http://www.ubuntuupdates.org/package/core/trusty/universe/base/ruby-switch
Usunięcie pakietu odnosi się do błędu, który wydaje mi się zupełnie niezwiązany.
Jestem zaskoczony, dlaczego instalowanie ruby2.0 za pomocą apt-get instaluje ruby1.9 i sprawia, że jest to domyślny interpreter ruby. Dostaję plik binarny ruby2.0 - ale skrypty (które zależą od interpretera 2.0 podczas wykonywania ruby) nie biorą go. Ponadto, kiedy używam gem et. glin. instalować pakiety Ruby - wydaje się, że są one instalowane dla Ruby 1.9, a nie 2.0. Bardzo niezadowalające.
Czy ktoś może podpowiedzieć, jak najprościej zainstalować Ruby 2.0 jako standardowy interpreter ruby? Jak mam się zmienić z Ruby 1.9 na 2.0 bez Ruby-Switch?
źródło
Debianowa wersja Ruby nie obsługuje kilku instalacji Ruby w tym samym systemie. Debian zdezaktualizował pakiet, a Ubuntu po prostu usunął go z repozytoriów. Powinieneś używać
rbenv
do przełączania różnych wersji ruby. Jest to zalecany sposób w opisie pakietu przełączania ruby i była to metoda, która została omówiona w błędzie 737782 jako preferowana, ponieważ mówi się, że w repozytoriach nie powinna znajdować się więcej niż jedna wersja ruby.Ruby 2.0 jest instalowany domyślnie podczas instalacji
ruby2.0
pakietu i nie jest wymagane żadne inne działanie. Jeśli pakietruby
został zainstalowany, zaleca się jego usunięcie. Plik binarny powinien być/usr/bin/ruby2.0
dostępny w systemie.źródło
źródło
ln -fs
wymusić aktualizację i unikać używania zawsze przerażającegorm -rf
Jeśli chcesz przełączać się między rubinami, polecam użycie rvm ( https://rvm.io ). Jest to menedżer pakietów i pozwala instalować wiele różnych rubinów (nie tylko Matza) na jednym komputerze, lokalnym dla użytkownika lub globalnie dla wszystkich użytkowników.
Wiem, że poprosiłeś o „paczkę”, więc może to nie zadziała. Ale pomyślałem, że to może pomóc, jeśli to twoja maszyna programistyczna.
Zaletą robienia tego w ten sposób jest to, że możesz zainstalować jeden zestaw gemów dla 2.1.1 i inne dla 2.0 lub 1.9.3, itp. Pozwala także testować jruby, rubinius itp. Bez konieczności przypisywania systemu do jednego.
Nie używam go do produkcji, ale najwyraźniej nadaje się do tego, a także do rozwoju.
Oto szybki start: https://rvm.io/rvm/install
źródło
Późno w grze, ale myślę, że bardziej kompletne rozwiązanie niż dowiązania symboliczne na
update-alternatives
stałe to takie użycie , zamieszczone tutaj werbalnie, na wypadek, gdyby inni ulegli tej samej frustracji i chcieliby rozwiązania bardziej natywnego. To obsługuje wszystkie pliki binarne i strony podręcznika, zapobiegając najpierw usuwaniu referencji, aby uniknąć konfliktów.Ostrzeżenia:
update-alternatives
więc możliwe, że to przesada i / lub zrobione kludgingly.Skrypt (nazwałem
fix-ruby-alternatives.sh
):źródło
${RECMD}
i${CMD}
bez cudzysłowów, zamiast używaćeval
. Inna uwaga: pożyczę „kludgingly”. :)