2

Я использую 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 ответа2

0

У меня есть 64-битный Cygwin, Ruby 2.0.0 и gem 2.4.1, и у меня возникла та же проблема. gem install ... , gem update , все закончилось " ОШИБКА: во время выполнения gem ...(ArgumentError) неверная последовательность байтов в UTF-8 ".

У меня также были все локали, установленные на " en_US.UTF-8 ".

Я где-то читал, что это должно помочь установить LANG на пустую строку или " C.BINARY ", но это не помогло. Но это был хороший совет, чтобы начать экспериментировать.

Наконец, я решил это, установив для LANG и LC_ALL пустую строку. Все остальные переменные окружения локали (LC_CTYPE и т.д.) Были автоматически установлены на «C.UTF-8», LANG и LC_ALL оставались пустыми.

Теперь gem наконец работает.

Я думаю, что у тебя была та же причина. Когда вы "очистили" ваши точечные файлы, вы, вероятно, изменили значения ваших локалей.

0

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .