2013-04-16 2 views
13

Das letzte Mal versuche ich zu lernen, wie man Web-Entwicklung mit Ruby on Rails macht und ich benutze meine Arch GNU/Linux-Maschine dafür. Die Richtlinie von Arch erfordert, dass Edelsteine ​​im Benutzerverzeichnis anstelle des üblichen systemweiten Standorts installiert werden. Es widerspricht jedoch dem Standardverhalten des Bundlers (der systemweite Installationen von Gems versucht). Also, wenn ich rails new foo laufen lasse, fragt der Bundler mich nach meinem root-Passwort.Force Bundler zum Installieren von Gems im Home-Verzeichnis des Benutzers

Ich möchte Bündler zwingen, Edelsteine ​​von Rails in meinem Home-Verzeichnis erforderlich zu installieren. Ich habe versucht, bundle install --path .bundle ausgeführt, aber es lädt und installiert alle Rails Edelsteine ​​noch einmal, was offensichtlich ist, was ich nicht tun möchte.

Haben Sie eine Idee, wie es geht?

Update: Endlich habe ich einen gewünschten Effekt durch Ausführen von bundle install --path ~/.gem.

+0

Warum können Sie nicht alle systemweit installierten Edelsteine ​​entfernen und sie erneut in '.bundle' installieren? –

Antwort

8

Sie können eine Umgebungsvariable $BUNDLE_PATH oder $GEM_HOME festlegen. Bundler wird diese benutzen und dort deine Edelsteine ​​installieren. Wenn Sie --path my_path angeben, speichert Bundler diesen Wert für zukünftige Installationen.

[...] aber es lädt und installiert alle Rails Gems noch einmal, was ich natürlich nicht machen möchte.

Wenn Sie zwischengespeicherte Versionen Ihrer Edelsteine ​​verwenden möchten, verwenden Sie --local.

Verwandte Themen