2017-10-08 2 views
1

Ich installierte Ruby auf Ubuntu für den systemweiten Einsatz. Die Datei .irbrc_history wird in einem Systemverzeichnis und nicht im Basisverzeichnis des Benutzers erstellt. Dies verursacht einen Zugriffsfehler, wenn die Datei von jemand anderem gehört. Hier ist der Fehler neben einem Haufen mehr, die ich denke, ist irrelevant:Ruby irbrc_history systemweit. Wie man es lokal macht?

irb 
/usr/local/rvm/rubies/ruby-2.4.1/lib/ruby/2.4.0/irb/ext/save-history.rb:75:in `initialize': Permission denied @ rb_sysopen - /usr/local/rvm/rubies/ruby-2.4.1/.irbrc_history (Errno::EACCES) 

Löschen der Verlaufsdatei behebt den Fehler.

Ich habe versucht, Umgebungsvariablen und Verlaufsinitialisierungscode zu dem, was ich denke, ist das System .irbrc Datei, aber ohne Erfolg.

Welche Sequenz von Initialisierungsdateien wird ausgeführt, die sich auf diese Verlaufsdatei auswirken? Wie kann ich den Speicherort der Verlaufsdatei ändern?

+1

Haben Sie ein fix noch? Ich habe das gleiche Problem. – kenn

Antwort

0

Erstellen Sie die Datei in Ihrem Home-Verzeichnis: touch ~/.irbrc_history.

Oder kopieren Sie sie aus dem System Pfad zu Ihrem Home-Verzeichnis: cp /path/of/system/.irbrc_history ~/.irbrc_history

Beachten Sie, dass /path/of/system/ ändern sollten, was Sie auf Ihrem System haben.

Sobald die Datei in Ihrem Home-Verzeichnis (von ~ gegeben), dann wird es ausgeführt, wenn Ihre Benutzer läuft irb

+0

Aus irgendeinem Grund behebt es das nicht ganz und entfernt auch nicht das systemweite. Immer noch den gleichen Fehler mit neueren Versionen von RVM. – tadman

0

Haben Sie passieren RVM benutzen?

rvm 1.29.3 (aktuell stabil) hat einen Fehler, bei dem der IRB-Verlauf im RUBY_HOME statt HOME gespeichert wird.

https://github.com/rvm/rvm/issues/4158

Hier ist ein fix:

rvm get head 
rvm reinstall 2.4.1