在centos上安装berks

use*_*014 2 chef-infra chef-recipe berkshelf berksfile

我正在尝试使用命令在centos上安装berks:

[root@ip~]#gem install berkshelf --no-ri --no-rdoc 
Run Code Online (Sandbox Code Playgroud)

安装后我已经使用命令验证是否已安装berks:

[root@ip~]# berks -v
-bash: berks: command not found
Run Code Online (Sandbox Code Playgroud)

另外我想告诉你我正在使用随厨师一起提供的红宝石.我没有在系统上明确安装ruby.

我想知道如何在centos上安装berks.

任何这方面的领导都将受到高度赞赏.

set*_*rgo 6

CentOS可能拥有自己的系统Ruby.当你运行:

$ which gem
Run Code Online (Sandbox Code Playgroud)

您可能会看到:

/bin/ruby
Run Code Online (Sandbox Code Playgroud)

或类似的东西.这不是 Chef的Ruby.要使用gemChef的Ruby中捆绑的命令,您需要指定完整路径:

$ /opt/chef/embedded/bin/gem install berkshelf --no-ri --no-rdoc
Run Code Online (Sandbox Code Playgroud)

然后,binstub被安装到Chef的Ruby中,因此运行berks不会直接运行.您需要指定完整路径:

$ /opt/chef/embedded/bin/berks -v
Run Code Online (Sandbox Code Playgroud)

还请确保Berkshelf的安装成功完成.如果gem(或其中一个依赖项)无法安装,则binstub将不存在.

您可以通过添加避免所有额外的输入/opt/chef/embedded/bin到您$PATH:

# ~/.bashrc
export PATH="/opt/chef/embedded/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)