Ich habe Ruby auf meinem Ubuntu 16.04 installiert.
$which ruby
/usr/bin/ruby
$ruby -v
ruby 2.3.0p0 (2015-12-25) [x86_64-linux-gnu]
$gem install bundler
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /var/lib/gems/2.3.0 directory.
Jede Hilfe wird sehr geschätzt!
rubygems
gem-bundler
Derek
quelle
quelle
Antworten:
Sie müssen zuerst den von Ubuntu installierten Ruby mit so etwas wie deinstallieren
sudo apt-get remove ruby
.Dann installieren Sie Ruby mit rbenv neu und ruby-build gemäß den folgenden Dokumenten:
Der letzte Schritt ist die Installation von Bundler:
Dann genieße es!
Derek
quelle
vim-gnome
zum Beispiel). Ich denke, ich würde lieber wissen wollen, warum es überhaupt/var/lib/...
für eine Benutzerinstallation geschrieben werden muss ... Habe ich eine gemacht,sudo gem install
wenn sie nicht benötigt wird?Ctrl+Alt+F1
und führen Sie die folgenden Befehle aus (deinstalliert und installiert Cinnamon erneut):sudo apt purge cinnamon && sudo apt install cinnamon
E: Package 'python-software-properties' has no installation candidate
Wenn Sie die Distribution Ruby anstelle von rb-env / rvm verwenden möchten, können Sie eine
GEM_HOME
für Ihren aktuellen Benutzer einrichten . Erstellen Sie zunächst ein Verzeichnis zum Speichern der Ruby-Edelsteine für Ihren Benutzer:Aktualisieren Sie dann Ihre Shell, um dieses Verzeichnis für zu verwenden
GEM_HOME
und IhrePATH
Variable so zu aktualisieren , dass sie das Ruby gem bin-Verzeichnis enthält.(In dieser letzten Zeile werden die Umgebungsvariablen in Ihrer aktuellen Shell neu geladen.)
Jetzt sollten Sie in der Lage sein, Ruby Gems unter Ihrem Benutzer mit dem
gem
Befehl zu installieren . Ich konnte dies mit Ruby 2.5.1 unter Ubuntu 18.04 zum Laufen bringen. Wenn Sie eine Shell verwenden, die nicht Bash ist, müssen Sie stattdessen das Startskript für diese Shell bearbeitenbashrc
.quelle
(Januar 2019) Gehen Sie folgendermaßen vor, um Ruby mithilfe des Rbenv-Skripts zu installieren:
1. Aktualisieren Sie zunächst den Paketindex und installieren Sie die Pakete, die für das Ruby-Build-Tool erforderlich sind, um Ruby aus dem Quellcode zu erstellen:
2. Führen Sie als Nächstes den folgenden Befehl curl aus, um sowohl rbenv als auch ruby-build zu installieren:
3. Fügen Sie dem Systempfad $ HOME / .rbenv / bin hinzu.
Wenn Sie Bash verwenden, führen Sie Folgendes aus:
Wenn Sie Zsh verwenden, führen Sie Folgendes aus:
4. Installieren Sie die neueste stabile Version von Ruby und legen Sie sie als Standardversion fest mit:
5. Stellen Sie sicher, dass Ruby ordnungsgemäß installiert wurde, indem Sie die Versionsnummer ausdrucken:
QUELLE: So installieren Sie Ruby unter Ubuntu 18.04
BEARBEITEN: Rubygems installieren:
quelle
.zshrc
Änderungen, die ich von Hand vorgenommen habe) und es hat perfekt funktioniert. Auf die gleiche Weise hinzugefügt , wie Sie zu installierenrubygems
, würde ich vorschlagen , vielleicht hinzugefügt , wie später die installierte Ruby - Version zu aktualisieren (Ich vermute , Sie die gerade laufenrbenv install
undrbenv global
Befehle wieder und vielleichtrbenv uninstall
veraltete Versionen beschneidet)Anstatt den Besitzer zu wechseln, wodurch andere lokale Benutzer gesperrt werden könnten, oder - eines Tages - Ihren eigenen Ruby-Server / Ihre eigenen Bereitstellungs-Dinge ... die unter einem anderen Benutzer ausgeführt werden ...
Ich würde lieber einfach die Rechte dieses bestimmten Ordners erweitern auf ... nun, alle:
(Ich bin auch auf Ihren Fehler gestoßen. Dies ist also ziemlich verifiziert.)
quelle
Versuchen Sie es mit
chown -R
demvar/lib/gems
Verzeichnis, indem Sie dem Benutzer [rubyusername
] in diesem Beispiel den Benutzer zuweisen, der mit Gems installiert und entwickelt wird.Dies ändert rekursiv alles im Gems- Verzeichnis. Für zusätzliche Sicherheit auf Mehrbenutzersystemen können Sie auch eine Gruppe erstellen, anstatt den einzelnen Rubyusernamen zu chownieren, und Benutzer zu dieser Gruppe hinzufügen.
quelle
Aufbauend auf der obigen Antwort von Derek wird im Allgemeinen nicht empfohlen, die vom System bereitgestellte Ruby-Instanz für Ihre eigene Entwicklungsarbeit zu verwenden, da die Systemtools möglicherweise von der jeweiligen Version oder dem Speicherort der Ruby-Installation abhängen. Ähnlich wie bei dieser Antwort für Mac OS X sollten Sie die Anweisungen von derek befolgen, um etwas wie rbenv ( RVM ist eine ähnliche Alternative) zum Installieren Ihrer eigenen Ruby-Instanz zu verwenden.
Es ist jedoch nicht erforderlich, die Systemversion von Ruby zu deinstallieren. Die Installationsanweisungen für rbenv bieten einen Mechanismus, mit dem sichergestellt wird, dass die in Ihrer Shell verfügbare Ruby-Instanz die rbenv-Instanz und nicht die Systeminstanz ist. Dies ist das
Zeile in Dereks Antwort.
quelle
Ich habe den gleichen Fehler in GitHub-Aktionen festgestellt. Durch Hinzufügen wurde
sudo
das Problem behoben.quelle
Die Neuinstallation von Compass hat bei mir funktioniert. Es ist eine Magie!
quelle
Ubuntu 20.04:
Option 1 - Richten Sie ein Gem-Installationsverzeichnis für Ihr Benutzerkonto ein
Für bash (für zsh würden wir natürlich verwenden
.zshrc
)Option 2 - Snap verwenden
Deinstallieren Sie die apt-version (
ruby-full
) und installieren Sie sie mit neusnap
quelle