webentwicklung-frage-antwort-db.com.de

Wo lagert Bundler Edelsteine?

Ich weiß, dass bei Verwendung von gem install Der Edelstein unter /home/username/.rvm/gems/ gespeichert wird, unter welchem ​​Edelsteinsatz der Edelstein installiert wurde.

Aber wenn ich Bundler verwende und das Gem in der Gem-Datei spezifiziere, werden diese Gems bei der Bundle-Installation wo gespeichert? Und was ist, wenn ich den Edelstein bereits mit gem install Installiert habe? Wenn ich die Bundle-Installation ausführe, wird dann der vorherige Edelstein verwendet, der mit gem install Installiert wurde?

57
gerky

Es hängt davon ab, ob. In der üblichen Entwicklungsumgebung werden sie dort installiert, wo sie sich befinden würden, wenn Sie einen Edelstein "normal" installieren (indem Sie gem install foo Ausführen), und der Bundler installiert keine Edelsteine, die bereits vorhanden sind. Dieser Speicherort hängt davon ab, wie Rubygems selbst konfiguriert ist.

Wenn Sie die Bundle-Installation mit der Option --deployment Ausführen, werden die Gems an einem für Ihre App eindeutigen Speicherort installiert (Sie können dies als separate Option übergeben, der Standardwert ist jedoch Hersteller/Bundle).

Sie können auch bundle package Ausführen, um alle von Ihrer App verwendeten .gem-Dateien in vendor/cache Zu speichern. Wenn Sie bundle install Ausführen, werden Edelsteine ​​im Anbieter/Cache Edelsteinen an anderen Orten vorgezogen.

50

Wenn Sie herausfinden möchten, wo ein bestimmtes Juwel gespeichert ist, können Sie bundle show <gem-name>. Beispielsweise:

[email protected]$ bundle show rake
/var/bundle/Ruby/2.1.0/gems/rake-10.4.2
57
James Kingsbery

Hier /usr/local/lib/Ruby/gems/2.1.0/gems/ und hier: /usr/local/lib/Ruby/gems/2.1.0/bundler/gems/.

3
Robert Reiz