尽管存在于锁定文件中,但捆绑依赖性未安装

时间:2018-05-25 14:05:56

标签: ruby bundler

我正在Jenkins构建中的this gemfile上运行bundle install --no-cache --path ./vendor/bundle。然后我使用widdershins将我的OpenAPI规范文档转换为与平板兼容的格式。我遇到的问题是 widdershins无法找到middleman-cli宝石。

...
Compiling main.dot to function
Compiling operation.dot to function
Compiling translations.dot to function
/usr/lib/ruby/2.3.0/rubygems.rb:241:in `bin_path': can't find gem middleman-cli (>= 0.a) (Gem::GemNotFoundException)

from ./vendor/bundle/ruby/2.3.0/bin/middleman:22:in `<main>

所以我试图通过以下2个命令验证gem是否安装,并且根本没有看到middleman安装。这让我想知道为什么它没有安装所需的依赖...

ruby -S gem list --local ruby -e 'puts Gem::Specification.all_names'

两个命令都显示相同的输出:

bigdecimal (1.2.8)
bundler (1.15.1)
did_you_mean (1.0.0)
io-console (0.4.5)
json (1.8.3)
minitest (5.10.3)
molinillo (0.5.0)
net-http-persistent (2.9.4)
net-telnet (0.1.1)
power_assert (0.2.7)
psych (2.1.0)
rake (12.0.0)
rdoc (4.2.1)
test-unit (3.2.5)
thor (0.19.4)

要给出运行这些命令的范围的一些上下文,这里是我Jenkins文件的一个片段:

// generate API documentation
sh 'git clone https://github.com/lord/slate.git'
dir('slate'){
    sh 'ls -ao'
    sh 'cat Gemfile.lock | grep middleman'
    sh 'bundle install --no-cache --path ./vendor/bundle'
    sh "ruby -S gem list --local"
    sh "ruby -e 'puts Gem::Specification.all_names'"
}

0 个答案:

没有答案