我在本地机器上安装了 chef:Mac OS X 10.8.3
我还在远程服务器上安装了 chef:Ubuntu 12.10 x64 Server
在本地机器上,当我尝试使用 ssh 执行命令然后输入“chef-solo...”时:
ssh root@remoteserver "chef-solo -c /var/chef/solo.rb"
我不断得到:
bash: chef-solo: command not found
我已经按照此处的说明安装了 chef:http://docs.opscode.com/install_workstation.html 我还检查了 chef 是否正确安装(在远程服务器和本地机器上)
$ chef-solo -v
Chef: 11.4.0
/opt/chef/bin 中的二进制文件夹是否需要添加到 PATH 变量中?我在 ~ 中有一个 .bash_profile,但其中只有一行:
[[ -s "/usr/local/rvm/scripts/rvm" ]] && source "/usr/local/rvm/scripts/rvm" # Load RVM into a shell session *as a function*
我曾尝试:export PATH="$PATH:/opt/chef/bin"
但这没有帮助。
答案1
运行$ which chef-solo
,它将返回该二进制文件的完整路径。然后在 ssh 命令中使用该完整路径:
$ ssh root@remoteserver "/path/to/chef-solo -c /var/chef/solo.rb"