2013-04-16 4 views
13

L'ultima volta che sto cercando di imparare come eseguire lo sviluppo web con Ruby on Rails e io uso la mia macchina Arch GNU/Linux per questo. La politica di Arch richiede l'installazione di gems nella directory dell'utente anziché nella solita posizione a livello di sistema. Tuttavia, contraddice il comportamento predefinito del bundler (che tenta di installare gems a livello di sistema). Quindi ogni volta che corro rails new foo il bundler mi chiede di inserire la mia password di root.Forza il bundler per installare le gemme nella home directory dell'utente

Voglio forzare bundler per installare le gemme richieste da Rails nella mia home directory. Ho provato a eseguire bundle install --path .bundle ma scarica e installa tutte le gemme di Rails ancora una volta, che è ovviamente quello che non voglio fare.

Avete qualche idea su come farlo?

Aggiornamento: Finalmente ho ottenuto l'effetto desiderato eseguendo bundle install --path ~/.gem.

+0

perché non è possibile rimuovere tutte le gemme installate in tutto il sistema e reinstallarle in '.bundle'? –

risposta

8

È possibile impostare una variabile di ambiente $BUNDLE_PATH o $GEM_HOME. Bundler userà quelli e installerà le tue gemme lì. Se si specifica --path my_path, Bundler ricorderà questo valore per installazioni future.

[...] ma scarica e installa tutte le gemme di Rails ancora una volta, che è ovviamente quello che non voglio fare.

Se si desidera utilizzare le versioni memorizzate nella cache delle gemme utilizzare --local.