我正在尝试使用rbenv在Openshift Online(DIY盒式磁带)上安装Ruby 2.1.0。但是,在编译并安装ruby之后,我无法安装新的gem。
我尝试了许多宝石,例如gem install rack -V
,但服务器卡在那里没有错误输出。
起初,我想也许是因为gem目录的权限所以我将GEM_HOME
更改为可写目录,但问题仍然存在。
如果你知道问题出在哪里,请告诉我。
这也是gem env
:
RubyGems Environment:
- RUBYGEMS VERSION: 2.2.0
- RUBY VERSION: 2.1.0 (2013-12-25 patchlevel 0) [x86_64-linux]
- INSTALLATION DIRECTORY: /var/lib/openshift/AUTO_GEN_HASH/app-root/data/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0
- RUBY EXECUTABLE: /var/lib/openshift/AUTO_GEN_HASH/app-root/data/.rbenv/versions/2.1.0/bin/ruby
- EXECUTABLE DIRECTORY: /var/lib/openshift/AUTO_GEN_HASH/app-root/data/.rbenv/versions/2.1.0/bin
- SPEC CACHE DIRECTORY: /var/lib/openshift/AUTO_GEN_HASH/.gem/specs
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /var/lib/openshift/AUTO_GEN_HASH/app-root/data/.rbenv/versions/2.1.0/lib/ruby/gems/2.1.0
- /var/lib/openshift/AUTO_GEN_HASH/.gem/ruby/2.1.0
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- REMOTE SOURCES:
- https://rubygems.org/
- SHELL PATH:
- /var/lib/openshift/AUTO_GEN_HASH/app-root/data/.rbenv/versions/2.1.0/bin
- /var/lib/openshift/AUTO_GEN_HASH/app-root/data/.rbenv/libexec
- /var/lib/openshift/AUTO_GEN_HASH/app-root/data/.rbenv/plugins/rbenv-gemset/bin
- /var/lib/openshift/AUTO_GEN_HASH/app-root/data/.rbenv/plugins/ruby-build/bin
- /var/lib/openshift/AUTO_GEN_HASH/app-root/data/.rbenv/shims
- /var/lib/openshift/AUTO_GEN_HASH/app-root/data/.rbenv/bin
-
- /bin
- /usr/bin
- /usr/sbin
which gem
/var/lib/openshift/AUTO_GEN_HASH/app-root/data/.rbenv/shims/gem
gem list
输出:
*** LOCAL GEMS ***
bigdecimal (1.2.3)
io-console (0.4.2)
json (1.8.1)
minitest (4.7.5)
psych (2.0.2)
rake (10.1.0)
rdoc (4.1.0)
test-unit (2.1.0.0)
运行时调试结果:gem install rack --backtrace --debug -V
Exception `Errno::EACCES' at /var/lib/openshift/AUTO_GEN_HASH/app-root/data/.rbenv/versions/2.1.0/lib/ruby/2.1.0/resolv.rb:654 - Permission denied - bind(2) for "0.0.0.0" port 10371
答案 0 :(得分:0)
Openshift Online不允许应用程序(或任何真实的)绑定到localhost / 0.0.0.0,因此更改它以使用环境变量$ OPENSHIFT_RUBY_IP,您应该全部设置。