Mam komputer z systemem Ubuntu Hardy, który zapewnia własny pakiet RubyGems. Niestety ta wersja RubyGems (1.1.1) jest zbyt stara, by zrobić cokolwiek użytecznego, dlatego postanowiłem ręcznie zaktualizować RubyGems do bieżącej wersji (1.3.6). Ta część poszła gładko, a jeśli wykonam gem -v
, otrzymam 1.3.6
, która jest oczekiwana. Problem jest, gdy próbuję zrobić: sudo gem install rack
, zwraca błąd:Błędy instalacji RubyGems zarówno podczas korzystania z "sudo" i nie używania sudo
ERROR: While executing gem ... (Errno::EACCES)
Permission denied - /home/username/.gem
Zazwyczaj po zainstalowaniu perełki jako root, to wie, do zainstalowania go w /usr/lib/ruby/gems
, więc dlaczego jest sprawdzenie mojego katalogu domowego w ogóle? Kolejnym dziwactwem jest, gdy robię gem install rack
(nie jako root), to mówi:
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions into the /usr/lib/ruby/gems/1.8 directory.
czyli tam, gdzie chcę iść. Próbowałem już wyczyścić binaria source_cache, próbując różnych wersji RubyGems (1.3.5), zmuszając instalację /usr/lib
z -i
bezskutecznie. Wszelkie pomysły na temat tego, dlaczego RubyGems tak nalega na sprawdzenie mojego katalogu /home
podczas instalacji jako root?
Nie stwierdzono różnic w dwóch, choć w części GEM PATHS: '/ usr/lib/rubin/kamienie/1.8' i'/home/nazwa_użytkownika/.gem/Ruby/1.8'. Czy nie powinno to być domyślnie z sudo? –
Są takie same w moim systemie, ale tylko po tym, jak przeszedłem i "wyszorowałem" wszystko po rekompilacji 1.9. Rzeczy, które sprawdziłem: 1. Usunięto nieużywane polecenie z klejnotem (miałem je w/usr/bin i/usr/local/bin 2. Sprawdziłem plik ~/.gemrc i wyczyściłem ścieżkę do punktu, w którym znajdę mój klejnot ścieżka w/usr/local/lib. Używane mój ~/folder .gem jako zapasową 3. łączone mój GEM_HOME i GEM_PATH zmienne środowiskowe w górę (w .profile/.bash_profile/.bashrc) z pliku .gemrc 4.Sprawdzone uprawnienia do folderów z klejnotami 5. Możesz także sprawdzić, czy masz cokolwiek w/etc/gemrc – SundayEdition
Więc przeszedłem przez te sugestie i wszystkie wydają się sprawdzać: 1) tylko jeden plik wykonywalny gem w/usr/bin , 2) nie .gemrc, 3) Nigdy nie ustawiam tych zmiennych w moich .profile, 4) foldery gem miały uprawnienia root, z którymi sudo powinno być w porządku, 5) no/etc/gemrc. Jedynym innym problemem jest być może fakt, że mój katalog domowy żyje w systemie AFS, który naprawia problemy? –