代码之家  ›  专栏  ›  技术社区  ›  Qiulang

为什么gem build.gempec在依赖gem尚未安装时会成功

  •  0
  • Qiulang  · 技术社区  · 6 年前

    我试图构建一个本地gem,但惊讶地发现,即使依赖gem没有安装,我仍然可以运行 gem build .gemspec 成功。

    例如,我的 .gemspec 已声明以下依赖项,我确信尚未安装它们。但是 gem build 成功了,只有在我跑了之后 gem install 要安装我的本地gem,这些gem也会被安装。

      spec.add_runtime_dependency "terminal-notifier-guard"
      spec.add_dependency "activesupport", "~> 4.2.0"
    

    从C/C++的背景来看,我觉得这有点混乱。我知道ruby是解释/动态(无论这意味着什么)语言,当我实际运行它时,脚本将被解释。但是 宝石建筑。宝石 那就造?它将使用什么标准来确定生成是否成功(例如,代码中的语法错误除外)?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Bijendra    6 年前

    依赖gem作为远程依赖项安装,并在gem安装时或在rails的bundle期间安装。你不能让它依赖于本地,因为其他人无法访问它。

     spec.add_dependency "activesupport", "~> 4.2.0" 
    

    在.gemspec文件中是正确的。

    .宝石公司: gem构建信息存储在这里。它是一种标准格式,用于描述所有由gems打包并部署到rubygems.org的信息。

    宝石建筑hola.gemspec

    它只是用于构建,您需要运行gem install来测试它。