require和gem有什么区别?require 'minitest'和gem 'minitest'有什么区别?
require
gem
require 'minitest'
gem 'minitest'
k3bvogb11#
假设你安装了两个版本的gem foo:
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
91zkwejq2#
Kernel#require激活gem的最新版本。内核#gem(由RubyGems添加)允许激活特定的gem versions;例如gem 'stack', '>= 1.2'。
gem 'stack', '>= 1.2'
2条答案
按热度按时间k3bvogb11#
假设你安装了两个版本的gem
foo
:如果您只使用
require
,默认情况下将加载最新版本:如果在调用
require
之前使用gem
,则可以指定要使用的其他版本:注意:使用
gem
而不调用require
不会加载gem。91zkwejq2#
Kernel#require激活gem的最新版本。
内核#gem(由RubyGems添加)允许激活特定的gem versions;例如
gem 'stack', '>= 1.2'
。