首页 文章

无法在Redhat 5.5上运行RubyGems

提问于
浏览
0

我试图在RedHat 5.5机器上安装Ruby和RubyGems . 我通过运行以下两个命令得到它们:

sudo yum install ruby
sudo yum install rubygems

两个都安装了 . 但是,当我尝试运行 gem 时,我收到以下错误:

/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in require':undefined methodend_with?' for“no such file to load-Win32API”:来自/usr/lib/ruby/site_ruby/1.8/rubygems/config_file.rb:55的字符串(NoMethodError)来自/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require .rb:29:来自/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:29:inrequire'的gem_original_require'来自/usr/lib/ruby/site_ruby/1.8/rubygems/gem_runner.rb:8 /usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:29:in来自/ usr / bin /的/usr/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:29:inrequire'中的gem_original_require'宝石:9

无论我运行什么样的命令,它都会抛出 . (我试过 gem -vgem update

Ruby的版本似乎是1.8,但我确定RubyGems版本有问题 . 我将 vi 改为 rubygems.rb 并且在顶部它将版本统计为1.5 .

尝试通过运行建议here的downgrade命令来修复,但它也会抛出相同的错误 .

有关修复此问题的任何帮助?只是想让这个运行,以便我可以运行一个RoR应用程序..

2 回答

  • 0

    RedHat 5附带Ruby 1.8.5和同样古老的rubygems . rubygems和ruby版本都太老了,不再支持操作系统基础软件包之外的任何东西了 . 即使在操作系统包中,由于整个系统的年龄,它们可能不会自行更改任何内容 .

    如果你真的想/必须在Red Hat 5上使用Ruby,你可能需要获得操作系统提供的RPM的另一个来源,例如: rbenv / ruby-buildruby-install甚至rvm . 您应该使用较新的Ruby版本,即2.1或2.2版本 . 到目前为止,语言开发人员不支持所有Ruby版本<2.0 .

    或者,你应该尝试使用更新版本的RedHat,即RedHat 7,它不需要支持8岁的软件......

  • 1

    可疑的是,yum安装了ruby 1.8这是一个相当过时的版本,看来你的系统上现在有两个版本的ruby,gem试图使用旧版本 .

    检查最近安装的软件包的版本并尝试强制rubygems使用新版本(通过删除旧的ruby或链接到 which ruby 返回的路径)

相关问题