webentwicklung-frage-antwort-db.com.de

Installieren Sie gem im lokalen Ordner

Ich habe eingeschränkte Rechte auf einem freigegebenen Computer, den ich verwende, daher kann ich Edelsteine ​​nicht so installieren, wie ich es gewohnt bin. Beispielsweise:

$ gem install request-log-analyzer
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions into the /usr/lib/Ruby/gems/1.8 directory. 

Ist es möglich, einen Edelstein lokal zu installieren? (Wenn es darauf ankommt, versuche ich zu installieren dieses Juwel .)

Ich habe eine Reihe von Posts auf Stack Overflow gesehen, in denen über Bundler oder Gemfiles gesprochen wurde, aber ich installiere dieses Gem nicht für ein Ruby on Rails project - I Ich möchte es nur isoliert verwenden.

Ich verwende Linux, weiß aber nicht, welche Variante.

28
mchen.ja

Ergänzen Sie die --local flag zu Ihrer Installation:

gem install --local request-log-analyzer

Wenn dies zu Problemen führt, versuchen Sie, den Edelstein manuell herunterzuladen und mit gem direkt darauf zu zeigen. Verwenden Sie dazu:

gem install --local path/to/gem/filename.gem

Wenn Sie es zu Ihrem Benutzer nach Hause installieren möchten, laut Rubygems :

Wenn Sie die Option --user-install verwenden, installiert RubyGems die Gems in einem Verzeichnis in Ihrem Ausgangsverzeichnis, etwa ~/.gem/Ruby/1.9.1. Die Befehle, die von den Edelsteinen bereitgestellt werden, die Sie installiert haben, werden in ~/.gem/Ruby/1.9.1/bin enden. Damit die dort installierten Programme für Sie verfügbar sind, müssen Sie Ihrer PATH-Umgebungsvariablen ~/.gem/Ruby/1.9.1/bin hinzufügen.

Der Befehl dafür wäre einfach

gem install --user-install request-log-analyzer
27
jkeuhlen

Du kannst es versuchen:

gem install --user-install gem_name
53
Tho Nguyen

Sie könnten einfach RVM verwenden: Ruby Version Manager . Es ist ein vollständiger Versionsmanager, ähnlich wie Node Version Manager (nvm) und andere, in dem es Ihnen ermöglicht, verschiedene Versionen von Ruby= und verschiedene Sammlungen von Edelsteinen für jedes Projekt zu haben Erledigt die Aufgabe, Edelsteine ​​voneinander und vom Ruby-System isoliert zu halten, jedoch auf Kosten des Erlernens eines vollständigen Versionsmanagers.

Wenn es ohne root ausgeführt wird, wird es lokal in ~/.rvm installiert und hat keine Auswirkungen auf andere Benutzer.

1
rholmes