В моем рецепте есть две строфы:
Chef::Config[:rubygems_url]='http://localbox/gems' #ghetto-for-ghetto
[
# :
%w(thor <0.20.3) ,
# :
].each do |g,v|
gem_package g do
version v if v
# action :remove
action :purge # Mjolnir
end
end
и
[
# :
%w(thor =0.20.3) ,
# :
].each do |g,v|
gem_package g do
version v if v
end
end
Мой вызов кажется хорошим, но затем выдает залог:
:
* gem_package[thor] action purge (up to date)
:
:
* gem_package[thor] action install
================================================================================
Error executing action `install` on resource 'gem_package[thor]'
================================================================================
Mixlib::ShellOut::ShellCommandFailed
------------------------------------
Expected process to exit with [0], but received '1'
---- Begin output of /usr/bin/gem install thor -q --no-rdoc --no-ri -v "=0.20.3" --clear-sources --source=https://www.rubygems.org --no-user-install --no-ri --no-rdoc ----
STDOUT:
STDERR: ERROR: While executing gem ... (Errno::EEXIST)
File exists - (/usr/local/bin/thor)
---- End output of /usr/bin/gem install thor -q --no-rdoc --no-ri -v "=0.20.3" --clear-sources --source=https://www.rubygems.org --no-user-install --no-ri --no-rdoc ----
Ran /usr/bin/gem install thor -q --no-rdoc --no-ri -v "=0.20.3" --clear-sources --source=https://www.rubygems.org --no-user-install --no-ri --no-rdoc returned 1
Resource Declaration:
---------------------
# In /var/chef/cache/cookbooks/fake/recipes/default.rb
121: gem_package g do
122: version v if v
123: options '--no-user-install --no-ri --no-rdoc'
124: clear_sources true
125: # gem_binary '/usr/bin/gem'
126: end
127: end
Compiled Resource:
------------------
# Declared in /var/chef/cache/cookbooks/fake/recipes/default.rb:121:in `block in from_file'
gem_package("thor") do
package_name "thor"
action [:install]
default_guard_interpreter :default
declared_type :gem_package
cookbook_name "fake"
recipe_name "default"
version "=0.20.3"
options "--no-user-install --no-ri --no-rdoc"
clear_sources true
gem_binary "/usr/bin/gem"
end
:
И,ради интереса, вот первая попытка заставить повара искать:
# more /root/.gemrc
---
gem: --no-rdoc --no-ri
:verbose: false
:update_sources: true
install: --no-wrappers --no-user-install --conservative --minimal-deps
update: --no-wrappers --no-user-install --conservative --minimal-deps
:disable_default_gem_server: true
:sources:
- http://localbox/gems/
Вопросы:
Как трудно перед тем, как забить собственный источник рубиновэто торчит?Чтобы быть ясным, мы скромно безопасная среда, и немногие / никакие хосты не могут самостоятельно связаться с Внешними.
, когда очищенный драгоценный камень все еще драгоценный камень?Я заикался, когда заказал чистку?
# gem list --local thor
*** LOCAL GEMS ***
thor (0.19.1)
если гемы могут сосуществовать с несколькими версиями, есть какие-нибудь идеи, почему этот не может?
разве ад такого рода зависимости не должен быть редкостью с рубином?
на самом деле, однако, моя цель - обновить драгоценный камень, что на самом деле невозможно, поэтому мой план Б - поразить старую версию силой разъяренного бога, если нужнобыть.Кто-нибудь может увидеть, где рушится мой план?