rhc 设置给出错误“没有这样的文件 dl/import”

Posted

技术标签:

【中文标题】rhc 设置给出错误“没有这样的文件 dl/import”【英文标题】:rhc setup gives error `no such file dl/import` 【发布时间】:2015-05-07 22:29:06 【问题描述】:

我正在安装 openshift 客户端工具,如下所述:https://developers.openshift.com/en/getting-started-windows.html#client-tools。 在“设置您的机器”步骤中出现错误:

rhc 设置 C:/Ruby22-x64/lib/ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:in `require' : 无法加载此类文件 -- dl/import (LoadError)

完整的堆栈跟踪:

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>'

我发现了同样的问题:https://groups.google.com/forum/#!topic/supmua/hPyTTamhTyc 建议将 DL 替换为 Fiddle。

我怎样才能开始工作 rhc?

【问题讨论】:

我不能也不会测试它,但尝试安装net-ssh-2.9.3.beta1。 This commit 增加了对小提琴的支持。 自从我 3 年前使用 Ruby 以来,没有什么能顺利使用它。由于版本问题,每次都会出现一些或其他错误。开班推荐安装最新!非常令人沮丧! 我无法理解。成功了,谢谢 它对我不起作用,尝试这里的所有建议;来自 ruby​​、net-ssh、较新、更新的旧版本...但我仍然无法使此设置正常工作。 我发现最新的 rhc 版本 1.38.4 声明了对 net-ssh 【参考方案1】:

按照this comment 中建议的cremno 将net-ssh 更新到2.9.3.beta1,解决了我的问题。

gem install net-ssh -v 2.9.3.beta1

在此之前,我尝试过gem install net-ssh,但没有帮助。

【讨论】:

我遇到了同样的问题。但是,你需要 GEM 安装 2.9.3beta1,而不是 2.5.3,所以命令应该是 gem install net-ssh -v 2.9.3.beta1 我已经更新到 2.9.3.beta1,尝试更新到 2.10.1.rc1。似乎没有任何帮助 =( 问题出在 Ruby 2.2.2 上。降级到 Ruby 到 2.1.6 和 net-ssh 到 2.9.2 Issue details in Github。即使 rhc 使用 2.9.3.beta1 安装,在 ssh 连接到应用程序时,它也不起作用。它会抱怨:Could not parse PKey: no start line 它对我不起作用 :( C:\>rhc setup C:/Ruby22-x64/lib/ruby/site_ruby/2.2.0/rubygems/core_ext/kernel_require.rb:54:在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' ....来自 C:/Ruby22-x64/lib/ruby/gems/2.2.0/gems/rhc-1.38.4/bin/rhc:20:in @987654327 @load' 来自 C:/Ruby22-x64/bin/rhc:23:in `
'
这对我不起作用。我安装了 Ruby 1.9.3 并重新安装了 rhc,效果很好。【参考方案2】:

我在使用 OpenShift 设置说明中所述的最新版本 Ruby(当前为 2.2.1)时遇到了这个问题。我通过以下方式修复了它:

    安装 Ruby 1.9.3 重新运行“gem install rhc”

之后,我可以毫无问题地运行“rhc setup”。

【讨论】:

gem install net-ssh -v 2.9.3.beta1 有效,无需重新安装 ruby​​ 到旧版本 正如霍托所说, gem install net-ssh -v 2.9.3.beta1 有效。不要恢复到 1.9.3 net-ssh -v2.9.3beta1 在拍摄快照和尾部时会出错 同样的问题,我将 Ruby 从 2.2 降级到 1.9.3 并且它起作用了 我确认使用 ruby​​ 1.9.3 的解决方案。我尝试使用最新的 2.2.x,但失败了。我卸载了它,安装程序 1.9.3,再次运行 gem install rhc,然后再次运行 rhc setup,现在一切正常。【参考方案3】:

如果您运行的是 Windows 10 Pro x64,请尝试安装 Ruby 2.1.8 (x64) 和 Git Version 2.7.0。这肯定会让你运行rhc setup,就像它发生在我身上一样。早些时候,我在运行和安装最新版本的Ruby 2.2.4 (x64) 时遇到问题,但是当我降级到 ruby​​ 版本 2.1.8 (x64) 时,我能够在 Windows 上运行 rhc setup 并配置 OpenShift client tools。查看我正在使用的 Ruby 版本的图片 - ruby 2.1.8p440 (2015-12-16 revision 53160) [x64-mingw32]

Read here 在 Windows 上开始使用OpenShift client tools

【讨论】:

这似乎可行,但我在运行设置时确实看到了$ rhc setup --> DL is deprecated, please use Fiddle 这似乎失败了。当我转到$ rhc setup 时,我输入密码,按回车键,然后系统就挂在那里。没有错误信息,没有反馈,只是没有功能。来自 OpenShift 的整个 RHC 事情很糟糕。【参考方案4】:

使用 RHC 测试 Ruby 版本而不是最新版本。今天是1.9.3-p194

【讨论】:

你是怎么知道 RHC 测试的 ruby​​ 版本的? 降级到版本 1.9.3-p194 对我有用。谢谢@reversiblean【参考方案5】:

卸载 2,2,0 后尝试使用/安装较低版本的 ruby​​,因为某些 windows 版本与您正在使用的 ruby​​ 版本冲突。我尝试了 2.2.3,然后降低到 2.2.0,它对我有用。

【讨论】:

【参考方案6】:

我遇到了同样的错误,但没有一个解决方案对我有用。在最后一次尝试中,我安装了 Ruby 1.9.3-p551 版本,并且 rhc 设置很顺利。我使用的是 Windows 10 机器。

【讨论】:

【参考方案7】:

我正在运行 Windows 10 Pro x64。我安装了 Ruby 2.1.8 (x64) 和 Git 版本 2.7.2。 rhc 安装成功。但是,“rhc snapshot save ...”命令对 net-ssh 有问题。但是,重新启动 Windows 10 后,错误消失了。

记得尝试重新启动您的 Windows。

【讨论】:

顺便说一句,我还必须将 ruby​​ 移动到 C:(Windows 根驱动器)而不是 D: 驱动器(我的软件驱动器)。或 c: 用户驱动器。这很奇怪,但确实很重要。 我终于意识到这是因为我正在运行选美(腻子密钥管理)。这将导致“创建文件映射失败并出现错误:998 (Net::SSH::Exception)”。这与 C 盘或 D 盘或重新启动计算机无关。 (重新启动我的电脑将停止选美服务。

以上是关于rhc 设置给出错误“没有这样的文件 dl/import”的主要内容,如果未能解决你的问题,请参考以下文章

Openshift:如何通过 RHC 或 SSH 将数据库导入 MySQL?

以反应形式设置图像 url 在角度 2 中给出错误

GWT 设置内部 HTML 给出未知的运行时错误

即使正确设置了所有权限,Cloudkit 也会不断给出创建权限错误

当我尝试将表单设置为清理时,脏表单给出错误

发布 asp.net 网站给出“对象引用未设置为对象的实例”。错误