2

コマンドを使用してcentosにberksをインストールしようとしています:

[root@ip~]#gem install berkshelf --no-ri --no-rdoc 

インストール後、次のコマンドを使用して berks がインストールされているかどうかを確認しました。

[root@ip~]# berks -v
-bash: berks: command not found

また、Chef に同梱されている ruby​​ を使用していることもお伝えしたいと思います。システムに明示的にRubyをインストールしていません。

centosにberksをインストールする方法を知りたいです。

この点でリードをいただければ幸いです。

4

1 に答える 1

7

CentOS にはおそらく独自のシステム Ruby があります。実行すると:

$ which gem

おそらく次のように表示されます。

/bin/ruby

または似たようなもの。それはChef の Rubyではありません。Chef の Ruby にバンドルされているコマンドを使用するにgemは、フル パスを指定する必要があります。

$ /opt/chef/embedded/bin/gem install berkshelf --no-ri --no-rdoc

すると、binstub が Chef の Ruby にインストールされるため、berks直接実行することはできません。フル パスを指定する必要があります。

$ /opt/chef/embedded/bin/berks -v

また、Berkshelf のインストールが正常に完了したことを確認してください。gem (またはその依存関係の 1 つ) のインストールに失敗した場合、binstub は存在しません。

に追加することで、この余分な入力をすべて回避でき/opt/chef/embedded/binます$PATH

# ~/.bashrc
export PATH="/opt/chef/embedded/bin:$PATH"
于 2014-06-30T18:01:22.697 に答える