Не удается установить гем RubyZip на OS X Lion с RVM
-
27-10-2019 - |
Вопрос
TL; DR :
родовое словоА теперь подробнее. Я не уверен, какая информация актуальна, поэтому скажу все.
- Недавно я обновил OS X Snow Leopard до Lion (также обновил Xcode до 4.2).
- Какое-то время все работало нормально
- Сегодня я решил установить несколько драгоценных камней (RSpec, Cucumber) и начал получать предупреждения о формате даты всякий раз, когда я что-то делал с RubyGems
- Я решил обновить RubyGems с 1.3.6 (я здесь не уверен) до текущей версии 1.8.11.
- Предупреждение продолжало появляться, поэтому я попытался удалить gemset с помощью
rvm gemset empty
, что также не удалось из-за ошибки отказа в разрешении (да, глупый, я не записал это) - В результате я переустановил Ruby с помощью
rvm remove 1.9.2
иrvm install 1.9.2
(после этого я не забыл сгенерировать кодовый код. -
Я установил сборщик
rvm use 1.9.2 --default
, а затем попытался сгенерировать код кода в моем проекте Rails 3.1.1, но это закончилось ошибкой$ gem install rubyzip ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /Users/darth/.rvm/gems/ruby-1.9.2-p136/gems/rubyzip-0.9.4/README
-
gem install bundle
дает указанную выше ошибку -
В файле README говорится, что нужно загрузить исходный код и установить оттуда с помощью
bundle install
, что также завершается ошибкойInstalling rubyzip (0.9.4) Errno::EPERM: Operation not permitted - /Users/darth/.rvm/gems/ruby-1.9.2-p136/gems/rubyzip-0.9.4/README An error occured while installing rubyzip (0.9.4), and Bundler cannot continue. Make sure that `gem install rubyzip -v '0.9.4'` succeeds before bundling.
-
Даже выполнение тестов для rubyzip приводит к кучей ошибок
$ ruby install.rb /Users/darth/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/fileutils.rb:841:in `install': wrong number of arguments (4 for 3) (ArgumentError) from install.rb:21:in `block in <main>' from install.rb:18:in `each' from install.rb:18:in `<main>'
У меня закончились идеи, что я могу сделать?
Решение
Я действительно не уверен, чем это вызвано, но мне удалось исправить это, выполнив следующие действия.
Поскольку переустановка Ruby 1.9.2 не помогла, я решил действовать еще более радикально и перешел на rvm.Я обнаружил, что у меня установлена кое-что версии 1.1, которой около 9 месяцев.
Я попытался выполнить обновление, но это не помогло, так что rvm implode
помогло мне.Мне даже пришлось сгенерировать кодовый код, вероятно, потому, что мне удалось испортить установку некоторых драгоценных камней, добавив к ним код генерирующего кода.
После переустановки sudo rm -rf ~/.rvm
и переустановки 1.9.2 кажется, что теперь все работает нормально, даже с Xcode 4.2.
Извлеченный урок, создать код и переустановить код лучше, чем пытаться обновить версию годовой давности :)