Não é possível instalar RubyZip gem no OS X Lion com RVM
-
27-10-2019 - |
Pergunta
TL; DR :
$ 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
E agora em detalhe. Não tenho certeza de que a informação é relevante, então eu só vou dizer tudo.
- Eu recentemente atualizado a partir OS X Snow Leopard para Lion (também atualizou Xcode para 4,2)
- Tudo funcionou muito bem por um tempo
- Hoje eu decidi instalar algumas jóias (RSpec, pepino), e eu começou a ficar formato de data advertências sempre que eu fazia qualquer coisa com RubyGems
- decidi RubyGems de atualização, a partir de 1.3.6 (não tenho certeza aqui) para corrente 1.8.11
- O aviso continuou aparecendo, então eu tentou remover o gemset com
rvm gemset empty
, que também falhou, por causa de alguma permissão negada erro (sim estúpido me não anotá-la) - Em resultado disso, eu reinstalado Rubi através
rvm remove 1.9.2
ervm install 1.9.2
(I não se esqueça dervm use 1.9.2 --default
depois disso. -
Eu instalei bundler
gem install bundle
e depois tentoubundle install
em meus Rails 3.1.1 projeto, mas termina com o erroInstalling 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.
-
gem install rubyzip -v '0.9.4'
dá a acima erro mencionada -
O arquivo README diz a fonte de download e instalar a partir daí via
ruby install.rb
, que também termina no erro$ 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>'
-
testes Mesmo execução fro rubyzip acaba no monte de erros
$ rake test rake/gempackagetask is deprecated. Use rubygems/package_task instead rake/rdoctask is deprecated. Use rdoc/task instead (in RDoc 2.4.2+) /Users/darth/.rvm/rubies/ruby-1.9.2-p136/bin/ruby -C test alltests.rb <internal:lib/rubygems/custom_require>:29:in `require': no such file to load -- stdrubyexttest (LoadError) from <internal:lib/rubygems/custom_require>:29:in `require' from alltests.rb:5:in `<main>' rake aborted! Command failed with status (1): [/Users/darth/.rvm/rubies/ruby-1.9.2-p136/b...] Tasks: TOP => test (See full trace by running task with --trace)
-
eu estou fora de ideias, o que posso fazer?
Solução
Eu não sou realmente certo o que causou isso, mas eu consegui consertá-lo fazendo o seguinte.
Uma vez que reinstalar o Ruby 1.9.2 não ajuda, eu decidi ser ainda mais drástico e desceu para rvm. Eu descobri que eu tinha a versão 1.1.something instalado, que é de cerca de 9 meses de idade.
Eu tentei atualização, mas isso não ajuda, então rvm implode
fez o truque. Eu mesmo tive que sudo rm -rf ~/.rvm
, provavelmente porque eu consegui estragar algumas instalações gem adicionando sudo
a eles.
Depois de reinstalar rvm
e reinstalação 1.9.2, parece que tudo está funcionando bem agora, mesmo com o Xcode 4.2.
Lição aprendida, rm -rf
& reinstalação é melhor do que tentar atualizar de uma versão anos de idade:)