Ho una macchina che esegue Ubuntu Hardy, che fornisce il proprio pacchetto RubyGems. Sfortunatamente quella versione di RubyGems (1.1.1) è troppo vecchia per fare qualcosa di utile, quindi ho deciso di aggiornare manualmente RubyGems alla versione corrente (1.3.6). Quella parte è andata liscia, e se faccio gem -v
, ottengo 1.3.6
che è previsto. Il problema è quando provo a fare: sudo gem install rack
, restituisce questo errore:Errori di installazione di RubyGems sia quando si utilizza 'sudo' che non si utilizza sudo
ERROR: While executing gem ... (Errno::EACCES)
Permission denied - /home/username/.gem
Di solito quando installo gemme come root, si sa per installarlo in /usr/lib/ruby/gems
, quindi perché è controllando mia home directory a tutti? Un altro aspetto fastidioso è quando faccio gem install rack
(non come root), si dice:
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions into the /usr/lib/ruby/gems/1.8 directory.
che è dove voglio andare. Ho già provato a cancellare source_caches, provando diverse versioni di RubyGems (1.3.5), forzando l'installazione in /usr/lib
con -i
senza alcun risultato. Qualche idea sul perché RubyGems è così insistente nel controllare la mia directory /home
quando si installa come root?
Nessuna differenza tra i due, sebbene nella sezione GEM PATHS: '/ usr/lib/ruby / gems/1.8' e'/home/username/.gem/ruby / 1.8'. Non dovrebbe non essere lì di default con sudo? –
Sono uguali sul mio sistema, ma solo dopo che sono passato e ho "ripulito" tutto dopo aver ricompilato 1.9. Cose che ho controllato: 1. Eliminato il comando gem non usato (ne aveva uno in/usr/bin e/usr/local/bin 2. Ho controllato il mio file ~/.gemrc e ho ripulito il percorso fino a puntare alla mia gemma percorso in/usr/local/lib. Utilizzata la mia cartella ~/.gem come backup 3. Corrispondenza delle variabili di ambiente GEM_HOME e GEM_PATH su (in .profile/.bash_profile/.bashrc) con il file .gemrc 4.Permessi controllati sulle cartelle gemma 5. Puoi anche controllare se hai qualcosa in/etc/gemrc – SundayEdition
Così ho esaminato questi suggerimenti e sembrano tutti dare un'occhiata: 1) solo un eseguibile gem in/usr/bin , 2) no .gemrc, 3) Non ho mai impostato queste variabili nel mio file .profile, 4) le cartelle gem avevano i permessi per root, che sudo dovrebbe andare bene, 5) no/etc/gemrc. L'unico altro intoppo è forse il fatto che la mia home directory risieda su AFS avvita le cose? –