2017-08-16 6 views
1

Ich habe in Kreisen laufen versucht, die 'Twilio-Ruby' Edelstein in meiner Rails-App ohne Erfolg zu installieren. Jedes Mal, wenn ich versuche, die Installation zu installieren, erhalte ich Fehler um libxml herum. Unten ist ein Teil der Fehler, den ich empfangen werde, wenn ich ‚Twilio-ruby‘ in die Edelstein-Datei hinzufügen und versuchen, zu bündeln zu installieren: sehr geschätztlibxml Problem bei der Installation Twilio-Rubin Juwel

Errno::EACCES: Permission denied @ rb_sysopen - /Users/George/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/libxml-ruby-3.0.0/HISTORY 
An error occurred while installing libxml-ruby (3.0.0), and Bundler cannot continue. 
Make sure that `gem install libxml-ruby -v '3.0.0'` succeeds before bundling. 

Trying to gem install libxml-ruby results in the error below: 

ERROR: While executing gem ... (Errno::EACCES) 
    Permission denied @ rb_sysopen - /Users/George/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/libxml-ruby-3.0.0/HISTORY 

Jede Hilfe, die mich in der richtigen Richtung wäre .

+0

hat y versuchen 'gem install libxml- ruby -v '3.0.0' und bitte das Ergebnis dieses Befehls enthalten –

+0

@ FabrizioBertoglio: Ich habe es versucht und das ist der Fehler, den ich erhalte: 'code'ERROR: Während der Ausführung von ... (Errno :: EACCES) Berechtigung verweigert @ rb_sysopen -/Benutzer/George/.rbenv/versions/2.3.1/lib/ruby ​​/ edelsteine ​​/ 2.3.0/edelsteine ​​/ libxml-ruby-3.0.0/HISTORY'code' –

Antwort

2

installiert richtig rbenv folgen Sie den Anweisungen auf Github für Ihr Betriebssystem (Mac oder Linux)

rbenv installation

Während dieses Problem besser zu verstehen, ist es zu Sicherheitsproblemen verbunden. Mac und Linux sind Unix-basierte Systeme, in denen sich der Benutzer anmeldet und Befehle in seinem Home-Verzeichnis ~/<user> ausführen kann. Wenn Sie versuchen, einen Befehl auszuführen, um ein Skript in einem anderen Verzeichnis wie dem Stammverzeichnis / oder /bin auszuführen, erhalten Sie einen Autorisierungsfehler, und Sie müssen den Befehl mit sudo ausführen, der für system user do steht.

Aus diesem Grund mit Linux Sie die ~/.bash_profile Datei

Add ~/.rbenv/bin to your $PATH for access to the rbenv command-line utility.

$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile Ubuntu Desktop note: Modify your ~/.bashrc instead of ~/.bash_profile.

Zsh note: Modify your ~/.zshrc file instead of ~/.bash_profile.

so konfigurieren, dass diejenigen Befehl irb, gem, rake, rails, wenn sie von dem Benutzer ausgeführt sie:

  • Search your PATH for an executable file named rake

  • Find the rbenv shim named rake at the beginning of your PATH

  • Run the shim named rake, which in turn passes the command along to rbenv

explanation of shims in rbenv

Sie können auch leicht lösen dieses Problem, indem Sie den Befehl mit sudo ausgeführt wird, aber es ist nicht reccommended, wie Sie auch aus dem untenen Artikel lesen können, wo sie das gleiche Problem haben, aber mit rvm,

Why do I get a "permission denied" error while installing a gem?

+0

Danke für die ausführliche Antwort. Ich werde heute Abend daran arbeiten, rbenv auf meinem Mac zu installieren. In der Zwischenzeit wollte ich nur darauf hinweisen, dass ich versucht habe, die Installation mit sudo auszuführen und dies ist ein Teil des Fehlers, den es zurückgibt: 'Makefile konnte aus irgendeinem Grund nicht erstellt werden, wahrscheinlich fehlen Bibliotheken und/oder Kopfzeilen. Weitere Informationen finden Sie in der Datei mkmf.log. Sie können Konfigurationsoptionen benötigen. –

+0

@GeorgeMikhail sollten Sie 'mkmf.log' suchen und sehen, was das Problem ist. Trotzdem solltest du 'sudo' nicht verwenden. 'mkmf.log' sollte irgendwo in den Ordnern von'/Users/George/.rbenv' gespeichert werden. –

Verwandte Themen