gpt4 book ai didi

ruby - gemfile 中有多个需求的 gem

转载 作者:数据小太阳 更新时间:2023-10-29 07:30:50 26 4
gpt4 key购买 nike

所以我有这个 gem,它依赖于许多其他 gem。在 gemspec 中它说

s.add_dependency "haml" ...

bundler 似乎并不关心,所以我不得不在 Gemfile 中重复这些依赖。是否有语法要求多个 gem ?类似的东西(不起作用):

gem "so-and-so",
:git => "some-repo",
:require => ["this-gem", "that-gem", "and-what-not"]

require 似乎只允许一个对象

最佳答案

根据 the Gemfile documentation您可以简单地传递一组需求。我在研究 RSpec 时遇到了这个问题,比如 Minitest 的语法糖,并指出我需要:

require 'minitest/spec'
require 'minitest/autorun'

让这个工作。我以前从未在 Gemfile 中尝试过多个要求,谷歌搜索让我想到了这个问题,更多的谷歌搜索让我找到了 Gemfile 文档,其中指出:

REQUIRE AS (:require)
Each gem MAY specify files that should be used when autorequiring via
Bundler.require. You may pass an array with multiple files, or false
to prevent any file from being autorequired.

gem "sqlite3-ruby", :require => "sqlite3"
gem "redis", :require => ["redis/connection/hiredis", "redis"]
gem "webmock", :require => false

所以在我自己的 Gemfile 中包含了

group :test do
gem 'minitest', require: ['minitest/autorun', 'minitest/spec']
gem 'rack-test', require: 'rack/test'
gem 'simplecov', require: false
end

它工作得很好,让我可以写一个像

这样的测试
describe 'basic crud' do
it 'must create a user with valid details' do
User.transaction do
user = User.create!(username: 'test', password: 'pass')
user.username.must_equal 'test'
user.destroy
end
end
end

我发现它比 assert_equals user.username, 'test' 读起来更好,让我可以访问我熟悉的 before :each do ...after :all做... 准备和清理方法。

关于ruby - gemfile 中有多个需求的 gem,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9113062/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com