无法用rbenv安装gem

时间:2014-02-07 17:41:25

标签: ruby gem openshift

我正在尝试使用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

1 个答案:

答案 0 :(得分:0)

Openshift Online不允许应用程序(或任何真实的)绑定到localhost / 0.0.0.0,因此更改它以使用环境变量$ OPENSHIFT_RUBY_IP,您应该全部设置。