Openshift 和 net-ssh 不兼容? (2.9.3-beta1 对比 2.9.2)
Openshift and net-ssh incompatibility? (2.9.3-beta1 vs 2.9.2)
通过在 Openshift 上搜索访问我的 Postgres 数据库,我目前在使用 net-ssh 时遇到问题。
- 这一步-注意安装的Ruby版本是2.2.0,net-ssh是2.9.3-beta1
为了能够从我的本地数据库 IDE 访问数据库,我需要执行:
rhc port-forward myappname
但是执行returns这个错误:Checking available ports ... Could not parse PKey: no start line
如您在此 (an other ones e.g. this one) 中所见,解决方法是恢复到 net-ssh 的稳定版本。 2.9.2。
我已经成功完成了。
但是现在,运行 rhc port-forward myappname
给我以下错误:.../2.2.0/rubygems/core_ext/kernel_require.rb:54:in 'require': cannot load such file
修复方法是将 net-ssh 升级到 2.9.3-Beta1 版本(参见 post)。
这真的很奇怪!似乎 "the snake is biting its own tail" (不知道那个法语表达是否有英文翻译)。
请注意,我已尝试使用新的 ssh 密钥生成器(自动和手动)进行干净的设置。
我的系统运行的是 Win 7 64 位。
我用 Ruby 的最后一个版本制作了 uninstall/install。
重新安装rhc。
rhc-1.36.4 上的最新版本 运行。问题继续。
你能帮忙吗?
我应该安装旧版本的 ssh-net and/or Ruby(由于新版本的 rhc,我不能使用 ssh-net 2.5.2)吗?
(抱歉我的英语不好)
您需要使用旧版本 Ruby,尝试 1.9.3 或 2.0,甚至 2.1。
rhc/Gemfile & rhc/rhc.gem需要规格 gem "net-ssh", "<= 2.9.2"
net-ssh 版本 2.9.2 至少在 pageant.rb
上使用 require dl/import
dl/import
已从 ruby 中删除,请参阅 https://github.com/ruby/ruby/blob/v2_2_0/NEWS#L148-L149
相反,建议 fiddle
net-ssh 3.* 似乎解决了这个问题(使用 fiddle/{import,{ for ruby >= 2.1)
net-ssh 版本 3. 对于 rhc
的兼容性似乎有所下降(仍在我的工作中)
所以一个简单的 hack 是修改 rhc/Gemfile & rhc/rhc.gemspec 并安装 gem
已经有人做到了。
一个解决方案(未测试)
gem 'rhc', :git => 'git://github.com/thrasher-redhat/rhc.git'
来自
替代解决方案(甚至在 windows 7 32 位上测试过:p)
git clone https://github.com/openshift/rhc
cd rhc
修改 rhc/Gemfile 和 rhc/rhc。gem规范 https://github.com/openshift/rhc/pull/748/files 然后
gem build rhc.gemspec
它应该输出像
blah! blah! blah! warnings and msgs......
Successfully built RubyGem
Name: rhc
Version: 1.38.4
File: rhc-1.38.4.gem
然后运行
gem install rhc-1.38.4.gem
通过在 Openshift 上搜索访问我的 Postgres 数据库,我目前在使用 net-ssh 时遇到问题。
- 这一步-注意安装的Ruby版本是2.2.0,net-ssh是2.9.3-beta1
为了能够从我的本地数据库 IDE 访问数据库,我需要执行:
rhc port-forward myappname
但是执行returns这个错误:Checking available ports ... Could not parse PKey: no start line
如您在此
但是现在,运行 rhc port-forward myappname
给我以下错误:.../2.2.0/rubygems/core_ext/kernel_require.rb:54:in 'require': cannot load such file
修复方法是将 net-ssh 升级到 2.9.3-Beta1 版本(参见 post)。
这真的很奇怪!似乎 "the snake is biting its own tail" (不知道那个法语表达是否有英文翻译)。
请注意,我已尝试使用新的 ssh 密钥生成器(自动和手动)进行干净的设置。 我的系统运行的是 Win 7 64 位。
我用 Ruby 的最后一个版本制作了 uninstall/install。 重新安装rhc。 rhc-1.36.4 上的最新版本 运行。问题继续。
你能帮忙吗? 我应该安装旧版本的 ssh-net and/or Ruby(由于新版本的 rhc,我不能使用 ssh-net 2.5.2)吗?
(抱歉我的英语不好)
您需要使用旧版本 Ruby,尝试 1.9.3 或 2.0,甚至 2.1。
rhc/Gemfile & rhc/rhc.gem需要规格 gem "net-ssh", "<= 2.9.2"
net-ssh 版本 2.9.2 至少在 pageant.rb
require dl/import
dl/import
已从 ruby 中删除,请参阅 https://github.com/ruby/ruby/blob/v2_2_0/NEWS#L148-L149
相反,建议 fiddle
net-ssh 3.* 似乎解决了这个问题(使用 fiddle/{import,{ for ruby >= 2.1)
net-ssh 版本 3. 对于 rhc
所以一个简单的 hack 是修改 rhc/Gemfile & rhc/rhc.gemspec 并安装 gem
已经有人做到了。
一个解决方案(未测试)
gem 'rhc', :git => 'git://github.com/thrasher-redhat/rhc.git'
来自
替代解决方案(甚至在 windows 7 32 位上测试过:p)
git clone https://github.com/openshift/rhc
cd rhc
修改 rhc/Gemfile 和 rhc/rhc。gem规范 https://github.com/openshift/rhc/pull/748/files 然后
gem build rhc.gemspec
它应该输出像
blah! blah! blah! warnings and msgs......
Successfully built RubyGem
Name: rhc
Version: 1.38.4
File: rhc-1.38.4.gem
然后运行
gem install rhc-1.38.4.gem