ruby gem 的版本与开发期间使用的 ruby 的版本有什么关系?
What does the version of a ruby gem have to do with the version of ruby used during development?
我一直在 rubygems.org 上阅读有关利用 Ruby gem 的语义版本控制模式的内容。
例如,我可能想使用一些名为 library
的 ruby gem,其中包括从 v2.2
开始但不包括 [=18] 的所有次要更新=].我可以将它作为 运行 时间依赖项添加到我的 gemspec
或我的 Gemfile
:
some_gem.gemspec:
spec.add_runtime_dependency 'library','~> 2.2'
宝石文件:
gem 'library', '~> 2.2'
我也知道我们可以使用 ruby 版本 management 来指定我们想要使用的 ruby 版本,例如 rbenv.
例如,我也将本地 ruby 版本设置为 system
(在 macOS 上),然后使用:
rbenv local system
在项目根目录下生成了一个.ruby-version
文件。
我对 gem 作者使用的 ruby 版本与 gem 版本有什么关系感到困惑。他们有关系吗? gem 作者如何管理 ruby 的版本? gem 作者是否发布 gem 多个 ruby 版本?
例如,如果作者使用 2.3.1
构建她的 gem 是否意味着只有 system
ruby 的人将无法使用它?
ruby 版本规范是可选的,仅用于帮助开发人员更轻松地使用 gem。例如,有许多 2.3 gem 没有设置 required_ruby_version。如果你在 1.9 上尝试 运行 这些你可能会得到错误,但他们不会明确指出 ruby 版本是错误的,所以他们会更难调试。
顺便说一下,您可以将 2.3 作为系统 ruby - sudo apt-get install ruby2.3
我一直在 rubygems.org 上阅读有关利用 Ruby gem 的语义版本控制模式的内容。
例如,我可能想使用一些名为 library
的 ruby gem,其中包括从 v2.2
开始但不包括 [=18] 的所有次要更新=].我可以将它作为 运行 时间依赖项添加到我的 gemspec
或我的 Gemfile
:
some_gem.gemspec:
spec.add_runtime_dependency 'library','~> 2.2'
宝石文件:
gem 'library', '~> 2.2'
我也知道我们可以使用 ruby 版本 management 来指定我们想要使用的 ruby 版本,例如 rbenv.
例如,我也将本地 ruby 版本设置为 system
(在 macOS 上),然后使用:
rbenv local system
在项目根目录下生成了一个.ruby-version
文件。
我对 gem 作者使用的 ruby 版本与 gem 版本有什么关系感到困惑。他们有关系吗? gem 作者如何管理 ruby 的版本? gem 作者是否发布 gem 多个 ruby 版本?
例如,如果作者使用 2.3.1
构建她的 gem 是否意味着只有 system
ruby 的人将无法使用它?
ruby 版本规范是可选的,仅用于帮助开发人员更轻松地使用 gem。例如,有许多 2.3 gem 没有设置 required_ruby_version。如果你在 1.9 上尝试 运行 这些你可能会得到错误,但他们不会明确指出 ruby 版本是错误的,所以他们会更难调试。
顺便说一下,您可以将 2.3 作为系统 ruby - sudo apt-get install ruby2.3