代码之家  ›  专栏  ›  技术社区  ›  stevec Zxeenu

Gemfile中gem的“平台”论点到底是什么?

  •  0
  • stevec Zxeenu  · 技术社区  · 4 年前

    从基本知识开始,我在Gemfile中看到了类似的内容

    # Windows does not include zoneinfo files, so bundle the tzinfo-data gem
    gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
    

    这段代码是否告诉Gemfile:“仅当平台是以下其中之一时才安装tzinfo data gem:mingw、mswin、x64_mingw、jruby;如果是任何其他操作系统,不要安装它”?

    背景:之所以对此感兴趣,是因为我在跑步时收到警告 bundle install 我只是想在开始修补之前了解一下它是如何工作的。

    另请注意:我搜索了 https://api.rubyonrails.org/ 对于“gem”、“group”和“platforms”,我找不到任何解释。

    1 回复  |  直到 4 年前
        1
  •  1
  •   Schwern    4 年前

    另请注意:我搜索了 https://api.rubyonrails.org/ 对于“gem”、“group”和“platforms”,我找不到任何解释。

    有道理,GemFile不是Rails的一部分。它们由 Bundler .

    这段代码是否告诉Gemfile:“仅当平台是以下其中之一时才安装tzinfo data gem:mingw、mswin、x64_mingw、jruby;如果是任何其他操作系统,不要安装它”?

    没错。你可以在书中读到它们的确切含义 Platform section of the Gemfile docs .

    特别是 tzinfo gem 需要最新的 time zone databases 。它将使用安装在操作系统上的。如果操作系统没有提供,或者没有保持最新,您可以安装 tzinfo-data gem 。大多数非Windows计算机都维护自己的时区数据库。

    推荐文章