Gems mit Ruby können nicht installiert werden: "ungültige Bytefolge in UTF-8"

2070
Cristian

Ich benutze Mountain Lion. Ich habe Ruby zuerst mit RVM installiert, dann mit Rbenv . Ich kann versichern, dass es das aktuellste ausführtwhich ruby, es zeigt korrekt auf das mit rbenv installierte .

gem installiert keinen gem, es wird immer der gleiche Fehler ausgegeben (nicht immer in derselben Datei, aber derselbe Fehler bei split:

Users/Macbook/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/mkmf.rb:1357:in `split': invalid byte sequence in UTF-8 (ArgumentError) from /Users/Macbook/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/mkmf.rb:1357:in `find_executable0' from /Users/Macbook/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/mkmf.rb:1564:in `pkg_config' from extconf.rb:15:in `<main>' 

Ich habe versucht, diese Exporte in meinem zu setzen .profile, ohne Glück:

export LC_ALL=en_US.UTF-8 export LANG=en_US.UTF-8 

Ich habe auch bash mit brew aktualisiert und es mit chsh aktiviert . iTerm2 ist auch mit UTF-8-Kodierung korrekt konfiguriert.

Ich habe keine Ahnung, was ich jetzt noch tun soll. Ich habe XCode 4.6.3.

2
Haben Sie versucht, [rbenv] (https://github.com/sstephenson/rbenv) anstelle von rvm zu verwenden? Ich hatte auch Probleme mit rvm, aber bisher keine mit rbenv jmoreira vor 11 Jahren 0
Ja, gleiche Ergebnisse. Cristian vor 11 Jahren 0

2 Antworten auf die Frage

0
Cristian

Das Problem war gelöst Aufräumen alle Dateien mit der Einrichtung der zugehörigen PATHUmgebungsvariablen ( .bash_profile, .profile, .bashrc) und dann die Installation rvmerneut. Das Ausführen eines echo $PATHaufgedeckten merkwürdigen Charakters, der die Verarbeitung des Bundlers durch die PATH.

0
Dawid Ferenczy

Ich habe 64-Bit-Cygwin, Ruby 2.0.0 und Gem 2.4.1 und hatte das gleiche Problem. gem install ..., gem update, Alles endete mit " ERROR: Während gem Ausführen ... (Argument) ungültige Bytefolge in UTF-8 ".

Ich hatte auch alle Gebietsschemas auf " en_US.UTF-8 " gesetzt.

Ich habe irgendwo gelesen, dass es helfen sollte LANG, einen leeren String oder " C.BINARY " zu setzen, aber es hat nicht geholfen. Aber es war ein guter Hinweis, mit dem Experimentieren zu beginnen.

Zum Schluss habe ich das gelöst, indem ich sowohl LANGals LC_ALLauch einen leeren String gesetzt habe. Alle anderen Umgebungsvariablen ( LC_CTYPEetc.) der Umgebung wurden automatisch auf "C.UTF-8" gesetzt LANGund LC_ALLblieben leer.

Jetzt gemist es endlich soweit.

Ich denke, dass Sie den gleichen Grund hatten. Wenn Sie Ihre Punktdateien "gesäubert" haben, haben sich die Werte Ihrer Ländereinstellungen möglicherweise geändert.