cinc-clientでcannot load such fileではまった
Dockerのcookbook使うときに下記のようなエラーがでた。
LoadError
---------
cannot load such file -- docker
Cookbook Trace: (most recent call first)
----------------------------------------
/var/chef/cache/cookbooks/docker/libraries/docker_base.rb:3:in `<class:DockerBase>'
/var/chef/cache/cookbooks/docker/libraries/docker_base.rb:2:in `<module:DockerCookbook>'
/var/chef/cache/cookbooks/docker/libraries/docker_base.rb:1:in `<top (required)>'
cinc-clientでlocal実行するときにだけでるので、色々調べていると、embeddedのgemのインストール先がなぜか /usr/local/bundle
になっていて、発生していた。
# /opt/cinc/embedded/bin/gem env |grep INSTA
- INSTALLATION DIRECTORY: /usr/local/bundle
- USER INSTALLATION DIRECTORY: /root/.local/share/gem/ruby/3.1.0
これでcincからgemが見えなくなっていると判断できたので、強制的にインストール先を変更すると問題なく実行できた。
# /opt/cinc/embedded/bin/gem install docker-api -i /opt/cinc/embedded/lib/ruby/gems/3.1.0
なにかでGEM HOMEがずれているっぽいので、環境変数を設定して解決した。GEM_HOME=/opt/cinc/embedded/lib/ruby/gems/3.1.0
一日無駄にしつつあったがなんとか解決できて偉い。