Не могу установить гемы с Ruby: «неверная последовательность байтов в UTF-8»

1947
Cristian

Я использую Mountain Lion. Сначала я установил Ruby с помощью RVM, а затем с помощью rbenv . Я могу заверить, что он работает с последней версиейwhich ruby, она правильно указывает на ту, что установлена ​​с rbenv .

gem не устанавливает gem, он всегда выдает одну и ту же ошибку (не всегда в одном и том же файле, но одну и ту же ошибку с 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>' 

Я попытался установить этот экспорт в моем .profile, без удачи:

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

Я также обновил bash с помощью brew и активировал его с помощью chsh . iTerm2 также правильно настроен с кодировкой UTF-8.

Я понятия не имею, что еще делать сейчас. У меня есть XCode 4.6.3.

2
Вы пытались использовать [rbenv] (https://github.com/sstephenson/rbenv) вместо rvm? У меня также были некоторые проблемы с использованием rvm, но до сих пор нет проблем с использованием rbenv jmoreira 10 лет назад 0
Да, такие же результаты. Cristian 10 лет назад 0

2 ответа на вопрос

0
Cristian

Проблема была решена, очищая все файлы, связанные с Наладкой в PATHпеременном окружении ( .bash_profile, .profile, .bashrc), а затем установить rvmснова. Выполнение echo $PATHвыявило странного персонажа, который нарушил обработку пакета PATH.

0
Dawid Ferenczy

I have 64 bit Cygwin, Ruby 2.0.0 and gem 2.4.1 and was experiencing the same issue. gem install ..., gem update, everything ended with "ERROR: While executing gem ... (ArgumentError) invalid byte sequence in UTF-8".

I had also all locales set to "en_US.UTF-8".

I have read somewhere that it should help to set LANG to an empty string or "C.BINARY", but it didn't help. But it was good hint to start experimenting.

Finally I have solved that by setting both LANG and LC_ALL to an empty string. All other locale environment variables (LC_CTYPE etc.) was automatically set to "C.UTF-8" by that, LANG and LC_ALL remained empty.

Now gem is finally working.

I guess, that you had the same reason. When you have "cleaned" your dotfiles, your probably changed values of your locales.