Ich habe Probleme, den Ruby Version Manager rvm von meinem Ubuntu 10.04 .profile zu beziehen. Der Code:
%Vor%... macht nie das, was ich von ihm erwarte (d. h. gib mir das rvm-Programm, wenn ich eine neue Shell öffne oder eine neue Session starte); aber wenn ich
ausführe %Vor%in einer neuen Shell nach dem Einloggen, es funktioniert! Warum funktioniert es, wenn ich es manuell erstelle, aber nicht automatisch bei der Anmeldung?
Es scheint, dass Ubuntu seine Anmeldeskripte anders behandelt als die meisten anderen Linux-Distributionen
Der obige Beitrag enthält Hinweise, dass GDM-Logins in Ubuntu .bash_profile oder .profile nicht wie andere Linux-Distributionen verarbeiten. Ich musste die Zeile laden, die RVM in die ~ / .bashrc lädt, und das hat noch keine Probleme verursacht.
Das Sourcing $ HOME / .rvm setzt voraus, dass Sie RVM als einzelnen Benutzer installiert haben, insbesondere den Benutzer, dessen Home-Verzeichnis $ HOME ist. Wahrscheinlich wurde RVM auf Ihrem Ubuntu-System systemweit installiert und Sie müssen daher die RVM-Skripte als solche beziehen:
Fügen Sie in Ihrer .bashrc-Datei Folgendes hinzu:
%Vor%vor dieser Zeile; Diese Zeile wird beendet und führt nichts darüber hinaus aus, was für interaktive Logins gut ist. Bit wäre ein Problem, wenn Sie nicht-interaktive SSH-Logins für Automatisierungszwecke verwenden.
%Vor%Die RVM-Installationsseite enthält eine Reihe von Dingen, die überprüft werden müssen, um die Initialisierung von RVM zu testen. Lesen Sie den Abschnitt "Fehlerbehebung bei der Installation" am Ende der RVM-Installationsseite .
Hier ist auch eine Beschreibung von , wie Bash seine Startup-Dateien liest Das kann mit dieser Art von Problem helfen.
Ich hatte ein Problem damit, dass der Atom-Editor die RVM-Umgebung nicht auffing und daher den Befehl rubocop
unter Ubuntu 16.04 nicht fand. Aber das Problem war nicht da, als ich Atom vom Gnome-Terminal aus startete. Was ich gefunden habe, ist, dass das RVM-Skript ~/.rvm/scripts/rvm
, das du in deinem .profile
laden sollst, diese Zeilen am Anfang hat:
Seltsamerweise, wenn ich bei der Anmeldung ausgeführt wurde, habe ich festgestellt, dass $BASH_VERSION
leer ist (während es in gnome terminal wie 4.3.46(1)-release
ist), also würde das Skript früh zurückkehren und RVM nicht korrekt geladen lassen. Ich habe versucht, BASH_VERSION
auf was auch immer einzustellen und es hat gut funktioniert.
Hier ist der komplette Code von meinem .profile
, der RVM lädt: