Mam zainstalowany Ruby na moim Ubuntu 16.04.
$which ruby
/usr/bin/ruby
$ruby -v
ruby 2.3.0p0 (2015-12-25) [x86_64-linux-gnu]
$gem install bundler
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /var/lib/gems/2.3.0 directory.
Każda pomoc będzie mile widziana!
rubygems
gem-bundler
derek
źródło
źródło
Odpowiedzi:
Najpierw musisz odinstalować ruby zainstalowane przez Ubuntu za pomocą czegoś takiego
sudo apt-get remove ruby
.Następnie zainstaluj ponownie Ruby używając rbenv i ruby-build zgodnie z ich dokumentacją:
Ostatnim krokiem jest instalacja Bundlera:
Następnie ciesz się!
Derek
źródło
vim-gnome
na przykład). Chyba wolałbym wiedzieć, dlaczego w pierwszej kolejności musi pisać w/var/lib/...
przypadku instalacji użytkownika ... Czy zrobiłem,sudo gem install
gdy nie był potrzebny?Ctrl+Alt+F1
i uruchom następujące polecenia (odinstalowuje i ponownie instaluje Cinnamon):sudo apt purge cinnamon && sudo apt install cinnamon
rbenv install -l
aby wyświetlić listę wszystkich dostępnych wersji, a następnierbenv install 2.5.1
dla wersji 2.5.1 lub cokolwiek chcesz.Jeśli chcesz używać dystrybucji Ruby zamiast rb-env / rvm, możesz ustawić
GEM_HOME
dla bieżącego użytkownika. Zacznij od utworzenia katalogu do przechowywania klejnotów Ruby dla twojego użytkownika:Następnie zaktualizuj powłokę, aby używała tego katalogu dla
GEM_HOME
i zaktualizujPATH
zmienną, aby zawierała katalog bin Ruby gem.(Ta ostatnia linia przeładuje zmienne środowiskowe w bieżącej powłoce).
Teraz powinieneś być w stanie zainstalować klejnoty Ruby pod swoim użytkownikiem za pomocą
gem
polecenia. Udało mi się to uruchomić z Ruby 2.5.1 pod Ubuntu 18.04. Jeśli używasz powłoki, która nie jest Bash, będziesz musiał edytować skrypt startowy dla tej powłoki zamiastbashrc
.źródło
(Styczeń 2019) Aby zainstalować Rubiego za pomocą skryptu Rbenv, wykonaj następujące kroki:
1. Najpierw zaktualizuj indeks pakietów i zainstaluj pakiety wymagane przez narzędzie do budowania Ruby do zbudowania Rubiego ze źródła:
2. Następnie uruchom następującą komendę curl, aby zainstalować zarówno rbenv, jak i ruby-build:
3. Dodaj $ HOME / .rbenv / bin do ŚCIEŻKI systemowej.
Jeśli używasz Bash, uruchom:
Jeśli używasz Zsh Run:
4. Zainstaluj najnowszą stabilną wersję Rubiego i ustaw ją jako wersję domyślną za pomocą:
5. Sprawdź, czy Ruby został poprawnie zainstalowany, drukując numer wersji:
ŹRÓDŁO: Jak zainstalować Ruby na Ubuntu 18.04
EDYCJA: Zainstaluj rubygems:
źródło
.zshrc
zmian, które wprowadziłem ręcznie) i działało idealnie. W ten sam sposób dodaje się, jak zainstalowaćrubygems
, sugeruję być może dodając jak później zaktualizować zainstalowaną wersję rubinowy (zgaduję po prostu uruchomićrbenv install
irbenv global
poleceń ponownie i możerbenv uninstall
przycinać nieaktualne wersje)Zamiast zmieniać właścicieli, co może zablokować innych lokalnych użytkowników lub - pewnego dnia - Twój własny serwer Ruby / rzeczy wdrożeniowe ... działające pod innym użytkownikiem ...
Wolałbym po prostu rozszerzyć prawa do tego konkretnego folderu na ... cóż, wszystkich:
(Wystąpił również Twój błąd. Jest to więc dość sprawdzone).
źródło
Spróbuj użyć
chown -R
wvar/lib/gems
katalogu, przypisując prawo własności do użytkownika [rubyusername
] w tym przykładzie, użytkownika, który będzie instalował i rozwijał za pomocą klejnotów.To rekurencyjnie zmienia wszystko w katalogu gems . Aby zapewnić dodatkowe bezpieczeństwo w systemach z wieloma użytkownikami, możesz również utworzyć grupę, zamiast wymieniać indywidualną nazwę użytkownika ruby i dodawać użytkowników do tej grupy.
źródło
Opierając się na powyższej odpowiedzi dereka, generalnie nie zaleca się używania dostarczonej przez system instancji Rubiego do własnych prac programistycznych, ponieważ narzędzia systemowe mogą zależeć od konkretnej wersji lub lokalizacji instalacji Rubiego. Podobnie jak w przypadku tej odpowiedzi dla Mac OSX , będziesz chciał postępować zgodnie z instrukcjami dereka dotyczącymi używania czegoś takiego jak rbenv ( RVM jest podobną alternatywą) do zainstalowania własnej instancji Ruby.
Jednak nie ma potrzeby odinstalowywania systemowej wersji Rubiego, instrukcje instalacji rbenv zapewniają mechanizm zapewniający, że instancja Rubiego dostępna w Twojej powłoce jest instancją rbenv, a nie instancją systemową. To jest
linia w odpowiedzi Dereka.
źródło
Napotkałem ten sam błąd w akcjach GitHub. Dodanie
sudo
rozwiązało problem.źródło
Ponowna instalacja Compass zadziałała dla mnie… To magia!
źródło
Ubuntu 20.04:
Opcja 1 - skonfiguruj katalog instalacyjny gem dla swojego konta użytkownika
Dla bash (dla zsh użylibyśmy
.zshrc
oczywiście)Opcja 2 - użyj przystawki
Odinstaluj apt-version (
ruby-full
) i zainstaluj go ponownie zsnap
źródło