A instalação do rhc fornece o erro "nenhum arquivo dl / import"

158

Estou instalando as ferramentas do cliente openshift, conforme descrito: https://developers.openshift.com/en/getting-started-windows.html#client-tools . Na etapa "Configurando sua máquina", recebi o erro:

rhc setup C: /Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb: 54: em `require ': não pode carregar esse arquivo - dl / import (LoadError)

Rastreio de pilha completa:

C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require': cannot load such file -- dl/import (LoadError)
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/authentication/pageant.rb:1:in `<top (required)>'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/authentication/agent/socket.rb:5:in `<top (required)>'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/authentication/agent.rb:22:in `<top (required)>'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/authentication/key_manager.rb:4:in `<top (required)>'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh/authentication/session.rb:4:in `<top (required)>'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/net-ssh-2.9.2/lib/net/ssh.rb:11:in `<top (required)>'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rhc-1.35.1/lib/rhc/ssh_helpers.rb:18:in `<top (required)>'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rhc-1.35.1/lib/rhc/wizard.rb:77:in `<class:Wizard>'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rhc-1.35.1/lib/rhc/wizard.rb:7:in `<module:RHC>'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rhc-1.35.1/lib/rhc/wizard.rb:6:in `<top (required)>'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rhc-1.35.1/lib/rhc/commands/base.rb:4:in `<top (required)>'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rhc-1.35.1/lib/rhc/commands/account.rb:2:in `<module:Commands>'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rhc-1.35.1/lib/rhc/commands/account.rb:1:in `<top (required)>'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rhc-1.35.1/lib/rhc/commands.rb:189:in `block in load'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rhc-1.35.1/lib/rhc/commands.rb:188:in `each'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rhc-1.35.1/lib/rhc/commands.rb:188:in `load'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rhc-1.35.1/lib/rhc/cli.rb:36:in `start'
        from C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rhc-1.35.1/bin/rhc:20:in `<top (required)>'
        from C:/Ruby22-x64/bin/rhc:23:in `load'
        from C:/Ruby22-x64/bin/rhc:23:in `<main>'

Encontrei o mesmo problema: https://groups.google.com/forum/#!topic/supmua/hPyTTamhTyc É recomendável substituir o DL pelo Fiddle.

Como posso trabalhar no rhc?

Vladimir Balandin
fonte
12
Não posso e não vou testá-lo, mas tente instalar o net-ssh-2.9.3.beta1 . Este commit adicionou suporte ao violino.
Cremno 06/0315
1
Nada funcionou bem com Ruby desde que eu o usei, há três anos. Toda vez que algum ou outro erro devido a problemas de versão. Turno aberto recomenda a instalação mais recente! Extremamente frustrante!
Jus12
Eu não consigo entender Funcionou, graças
Hinotori
Não funcionou para mim, tentando com tudo sugerido aqui; versões antigas do ruby, net-ssh, mais recentes, atualização ... mas ainda não consigo fazer essa instalação funcionar.
21815 juagicre
Eu descobri que a versão mais recente do rhc 1.38.4 declara a dependência como net-ssh <= 2.9.2, portanto, não deseja executar com o net-ssh-2.9.3.beta1. Voltei ao rhc versão 1.37.1, que foi executado com sucesso usando o net-ssh-2.9.3.beta1.
Aleksey Korolev

Respostas:

208

A atualização do net-ssh para 2.9.3.beta1, conforme sugerido pelo cremno neste comentário , resolveu o meu problema.

gem install net-ssh -v 2.9.3.beta1

Antes disso, tentei gem install net-ssh, mas não ajudou.

Vladimir Balandin
fonte
3
Eu tive o mesmo problema. No entanto, você precisa GEM instalar 2.9.3beta1, não 2.5.3, de modo que o comando deve ser gem install net-ssh -v 2.9.3.beta1
Cryophallion
Eu trqed para atualizar para 2.9.3.beta1, tentei 2.10.1.rc1. Nada parece ajudar = (
dmigo
9
O problema está no Ruby 2.2.2. Faça o downgrade para Ruby para 2.1.6 e net-ssh para 2.9.2 Detalhes do problema no Github . Mesmo se o rhc for instalado com 2.9.3.beta1, no momento da conexão ssh com o aplicativo, ele não funcionará. Ele vai reclamar algo sobre: PKEY não pôde analisar: nenhuma linha de partida
Camilo Crespo
2
não funcionou para mim :( C: \> rhc setup C: /Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb: 54: in require': cannot load such file -- dl/import (LoadError) from C:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_req uire.rb:54:in require '..... ... de C: /Ruby22-x64/lib/ruby/gems/2.2.0/gems/rhc-1.38.4/bin/rhc: 20: in <t op (required)>' from C:/Ruby22-x64/bin/rhc:23:in load 'de C: / Ruby22-x64 / bin / rhc : 23: em `` <main> ''
Ayed Mohamed Amine
3
Isso não funcionou para mim. Eu instalei o Ruby 1.9.3 e reinstalei o rhc, que funcionou.
yelmu
49

Encontrei este problema quando usei a versão mais recente do Ruby (atualmente 2.2.1), conforme indicado nas instruções de instalação do OpenShift. Eu o corrigi por:

  1. Instalando o Ruby 1.9.3
  2. Re-executando "gem install rhc"

Depois disso, eu pude executar o "rhc setup" sem nenhum problema.

Peter L
fonte
4
gem install net-ssh -v obras 2.9.3.beta1, sem necessidade de reinstalar o rubi para a versão mais velha
Andrzej Rehmann
como Hoto disse, o gem install net-ssh -v 2.9.3.beta1 funciona. não reverter para 1.9.3
ssi-anik
1
O net-ssh -v2.9.3beta1 dará erro ao tirar instantâneos e cauda
user2473015
Mesmo problema aqui e eu rebaixado rubi de 2,2 a 1.9.3 e funcionou
Joy George Kunjikkuru
5
Confirmo a solução do uso do ruby ​​1.9.3. Eu tentei com o mais recente 2.2.xe falhou. Eu desinstalei, instalador 1.9.3, correu gem install rhcnovamente, então rhc setupnovamente e as coisas agora funcionam bem.
Chevdor
17

Se você estiver executando o Windows 10 Pro x64, tente instalar o Ruby 2.1.8 (x64) com o Git versão 2.7.0 . Isso certamente permitirá que você corra rhc setupcomo aconteceu comigo. Anteriormente, tive um problema ao executar e instalar a versão mais recente, Ruby 2.2.4 (x64)mas quando fiz o downgrade para a versão ruby, 2.1.8 (x64)consegui executar rhc setupe configurar OpenShift client toolsno Windows. Veja a imagem da versão Ruby que estou usando -ruby 2.1.8p440 (2015-12-16 revision 53160) [x64-mingw32]

insira a descrição da imagem aqui

Leia aqui para começar OpenShift client toolsno Windows.

rbashish
fonte
Isso parece funcionar, mas eu vejo $ rhc setup-> DL is deprecated, please use Fiddlequando executo a instalação.
zipzit
Isso parece ser um fracasso. Quando vou $ rhc setup, chego ao ponto em que digito minha senha, clico em return, e o sistema fica travado lá. Nenhuma mensagem de erro, nenhum feedback, apenas nenhuma função. Toda essa coisa de RHC do OpenShift é terrível.
zipzit
11

Use a versão Ruby testada pelo RHC em vez da mais recente. Hoje é 1.9.3-p194

Gayan Weerakutti
fonte
como você conheceu a versão ruby ​​testada pelo RHC?
Samy Omar
O downgrade para a versão 1.9.3-p194 funcionou para mim. Obrigado @reversiblean
blakroku
1

Tente usar / instalar uma versão inferior do ruby ​​depois de desinstalar o 2,2,0, porque algumas versões do Windows estão em conflito com a versão ruby ​​que você está usando. Eu tentei o 2.2.3 e depois baixei para o 2.2.0 e funcionou para mim.

user1419261
fonte
1

Eu encontrei esse mesmo erro e nenhuma das soluções funcionou para mim. Em uma última tentativa, instalei a versão Ruby 1.9.3-p551 e a instalação do rhc ocorreu sem problemas. Eu uso uma máquina Windows 10.

Divya Mary
fonte
0

Estou executando o Windows 10 Pro x64. Eu instalei o Ruby 2.1.8 (x64) com o Git versão 2.7.2. O Rhc foi instalado com sucesso. No entanto, o comando "rhc snapshot save ..." teve um problema com o net-ssh. No entanto, após reiniciar o Windows 10, os erros desapareceram.

Lembre-se de tentar reiniciar o Windows.

hosais
fonte
A propósito, eu também tenho que mover o ruby ​​para C: (unidade raiz do Windows) em vez da unidade D: (minha unidade de software). OU a unidade c: user. Era estranho, mas importava.
hosais
1
Finalmente percebi que é porque estou executando o concurso (gerenciamento de chaves de massa). Isso causará "Falha na criação do mapeamento de arquivos com erro: 998 (Net :: SSH :: Exception)". Não se tratava de unidade C, unidade D ou reinicialização do computador. (Reiniciando meu computador vai parar de serviço concurso.
hosais