Зависимость пакета не устанавливается, несмотря на то, что она находится в файле блокировки - PullRequest
0 голосов
/ 25 мая 2018

Я использую bundle install --no-cache --path ./vendor/bundle на этом gemfile в сборке Jenkins.Затем я использую 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 команд и я не вижу 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)

Чтобы дать некоторый контекст о том, где выполняются эти команды, вот фрагмент из моего Jenkinsfile:

// 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'"
}
...