Произошла ошибка при установке rake (10.1.0), и Bundler не может продолжить

Сегодня я переустановил свой Mac, и мне пришлось переустанавливать рельсы и т.д. Теперь я настроил все правильно (по крайней мере, я надеялся), но я все время сталкиваюсь с очень неприятной ошибкой.

$ bundle install
Fetching gem metadata from https://rubygems.org/..........
Fetching gem metadata from https://rubygems.org/..
Resolving dependencies...
ArgumentError: invalid byte sequence in UTF-8
An error occurred while installing rake (10.1.0), and Bundler cannot continue.
Make sure that `gem install rake -v '10.1.0'` succeeds before bundling.

Теперь я подумал, что переустановка "рейка" решит проблему, но этого не произошло. Я следил за этим сообщением , но это не решило мою проблему ни потому, что в "/etc/paths нет файлов .d".

$ ls -a /etc/paths.d
. ..

Итак, я попытался изменить файл .bashrc, как это было предложено в другом сообщении в блоге. Но это тоже не сработало.

# .bashrc file
PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
# Make sure the UTF-8 locale is set correctly
export LANG="en_US.UTF-8"
export LC_ALL="en_US.UTF-8"

Я также пытался удалить и переустановить рельсы, но это не решило проблему. Так у вас, ребята, есть предложения, где искать?

Обновление

Я смог "решить" эту проблему, удалив RVM и Rails и вместо этого используя RBenv. Я знаю, что это не решение проблемы, но теперь она работает.

6 ответов

Вы должны сначала обновить Rubygems:

gem update --system

И затем обновите Bundler:

gem install bundler

source: NoMethodError: частный метод` open 'вызван для Gem:: Package: Class Ошибка при установке rake (10.0.3), а Bundler не может продолжить


Я столкнулся с этой проблемой, возникшей на машине Windows. Необходимо обновить сертификат SSL, который можно выполнить, выполнив следующие шаги:

Шаг 1: Получить новый сертификат доверия

Нам нужно скачать AddTrustExternalCARoot-2048.pem.

Используйте приведенную выше ссылку и поместите/сохраните этот файл где-нибудь, где вы можете легко найти его (например, ваш рабочий стол).

ВАЖНО: файл должен иметь .pem как расширение. Браузеры, такие как Chrome, попытаются сохранить его как обычный текстовый файл. Убедитесь, что вы изменили имя файла, чтобы иметь .pem в нем после его загрузки.

Шаг 2. Найдите каталог сертификата RubyGems в вашей установке.

Чтобы скопировать этот файл, нам нужно знать, куда его поместить.

В зависимости от того, где вы установили Ruby, каталог будет другим.

Возьмем, к примеру, установку по умолчанию Ruby 2.1.5, помещенную в C:\Ruby21

Откройте командную строку и введите:

C: > драгоценный камень, который рубигем C:/Ruby21/lib/ruby/2.1.0/rubygems.rb Теперь найдите этот каталог. Внутри того же окна введите часть пути до расширения файла, но вместо этого используйте обратную косую черту:

C: > start C:\Ruby21\lib\ruby ​​\ 2.1.0\rubygems Это откроет окно проводника в указанном нами каталоге.

Шаг 3: Скопируйте новый сертификат доверия

Теперь найдите каталог ssl_certs и скопируйте файл .pem, полученный с предыдущего шага.

Он будет указан в других файлах, таких как GeoTrustGlobalCA.pem.

Благодаря этой ссылке для предоставления необходимой мне информации: https://gist.github.com/luislavena/f064211759ee0f806c88


У меня была аналогичная проблема на машине Windows. Проблема в том, что сертификат необходимо обновить. Проверьте это - https://gist.github.com/luislavena/f064211759ee0f806c88


Добавление флага tag к драгоценному камню в Gemfile, исправленном для меня, не знаю почему.


Я столкнулся с той же проблемой, когда я изучал руководство по рельсам 4 Майкла Хартла.

Я попытался связать установку в своей старой версии "sample_app_rails_4", пока я просто обновил свои рельсы до версии 4.0.1.

Я решил эту проблему, просто git клонировал новую версию "sample_app_rails_4".


Очень важно, потому что это не ошибка, поэтому его предупреждение не вызывает никаких проблем. Перейдите в C:\RailsInstaller\Ruby2.1.0\lib\ruby\2.1.0\dl.rb

Значит найти dl.rb И затем найдите warn "DL is deprecated, please use Fiddle" и поместите # до того, как эта строка означает сделать этот комментарий, и это станет

#warn "DL is deprecated, please use Fiddle"

Проблема решена.

licensed under cc by-sa 3.0 with attribution.