我需要编写一个Chef CookBook,根据系统中安装的Python版本安装一些软件包。检查Chef CookBook的Python版本并根据结果安装软件包
是否有可能有以下逻辑厨师配方:
python_version = `python -V` # check python version
if python_version == '2.6.6'
package 'package_a' # install package_a using Chef package resource
elsif python_version == '3.3.5'
package 'package_b' # install package_b using Chef package resource
else
break # stop execution of cookbook
end
预先感谢您!
我可以检查Python3的版本吗?我已经在我的系统Python2和Python3上安装了,但'node ['languages']'只显示了Python2。 – lmtx
@lmtx嗯,厨师不是魔术。按照你最初的想法,它会在后面运行'python -V'。如果你的路径目标是python2,你会得到python2版本。您可以将ohai插件扩展到自定义插件来添加python3条目。但是,如果没有pyenv的版本选择它们,听起来很可能会在脚下射击自己。总而言之,这听起来像一个XY问题,试图找到一些困难的地方,正确的路径将确保目标应用程序具有所需的软件包。 – Tensibai