Я использую 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'"
}