【问题标题】:ruby unable to load rubygems after compilation [closed]ruby 编译后无法加载 ruby​​gems [关闭]
【发布时间】:2017-05-17 04:32:47
【问题描述】:

我已经编译了 Ruby 193,并且能够毫无问题地加载许多模块。但是当我尝试加载“rubygems”时,它的说法是错误的。

irb(main):001:0> require 'json'
=> true
irb(main):002:0> require 'yaml'
=> true
irb(main):003:0> require 'time'
=> true
irb(main):004:0> require 'rubygems'
=> false
irb(main):005:0>

但是在 ruby​​ 1.8.7 上,要加载 json,我们需要先加载 ruby​​gems,然后才会加载 json。我对 ruby​​ 193 和 187 之间的 ruby​​gems 几乎没有混淆。

【问题讨论】:

  • 您的问题不清楚。你只说了会发生什么,但你没有说你期望会发生什么,为什么你期望会发生,以及预期的行为方式和实际行为不同。您的代码具体有什么问题?为什么require 返回falsetrue 对你来说很重要?
  • 我在加载 ruby​​gems 时的问题,为什么它显示为 false 虽然 gem 工作正常。
  • Kernel#require 的文档中有什么特别不清楚的地方吗?如果您能准确地告诉您文档的哪一部分您不清楚,那将非常好,以便 Ruby 开发人员可以为未来的读者改进文档。

标签: ruby rubygems


【解决方案1】:

require 在加载模块时返回true,如果模块已经加载则返回false,并在找不到模块时引发LoadError

您不是无法加载rubygems;它是默认加载的。尝试require 'smegybur' 或其他一些废话,看看实际上无法加载包时的样子。

【讨论】:

  • 感谢您的澄清!现在我对此非常了解。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-08-10
  • 1970-01-01
  • 2011-06-23
  • 2013-02-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多