ruby 要求`gem`方法?

mnemlml8  于 2023-05-28  发布在  Ruby
关注(0)|答案(2)|浏览(115)

requiregem有什么区别?
require 'minitest'gem 'minitest'有什么区别?

k3bvogb1

k3bvogb11#

假设你安装了两个版本的gem foo

$ gem list foo

*** LOCAL GEMS ***

foo (2.0.1, 2.0.0)

如果您只使用require,默认情况下将加载最新版本:

require 'foo'       # => true

Foo::VERSION        # => "2.0.1"

如果在调用require之前使用gem,则可以指定要使用的其他版本:

gem 'foo', '2.0.0'  # => true
require 'foo'       # => true

Foo::VERSION        # => "2.0.0"

注意:使用gem而不调用require不会加载gem。

gem 'foo'           # => true

Foo::VERSION        # => NameError: uninitialized constant Foo
91zkwejq

91zkwejq2#

Kernel#require激活gem的最新版本。
内核#gem(由RubyGems添加)允许激活特定的gem versions;例如gem 'stack', '>= 1.2'

相关问题