我有一个简单的 .pp / puppet 文件,并且我收到“参数提供程序失败:在 sis.pp:24 的包提供程序 'pip' 无效”
这是第 24 行:
20 package {"numpy":
21 ensure => installed,
22 provider => pip,
23 require => Package["python-setuptools", "python-pip", "python-dev", "build-essential"]
24 }
我检查了语法错误,没有。
我的猜测是 puppet 找不到 pip,我卸载并重新安装了 pip。使用 apt-get,这就是我输入“whereis pip”时得到的结果
pip: /usr/local/bin/pip /usr/share/man/man1/pip.1.gz
我四处搜索,发现 puppet 有一个 pip 模块,也安装了它。
但仍然不知道问题是什么。
当我输入“puppet apply sis.pp --debug --verbose”
我明白了:
debug: Puppet::Type::Package::ProviderSunfreeware: file pkg-get does not exist
debug: Puppet::Type::Package::ProviderFink: file /sw/bin/fink does not exist
debug: Puppet::Type::Package::ProviderYum: file yum does not exist
debug: Puppet::Type::Package::ProviderRug: file /usr/bin/rug does not exist
debug: Puppet::Type::Package::ProviderAix: file /usr/bin/lslpp does not exist
debug: Puppet::Type::Package::ProviderPorts: file /usr/sbin/pkg_info does not exist
debug: Puppet::Type::Package::ProviderNim: file /usr/sbin/nimclient does not exist
debug: Puppet::Type::Package::ProviderRpm: file rpm does not exist
debug: Puppet::Type::Package::ProviderSun: file /usr/sbin/pkgrm does not exist
debug: Puppet::Type::Package::ProviderPortupgrade: file /usr/sbin/pkg_info does not exist
debug: Puppet::Type::Package::ProviderHpux: file /usr/sbin/swremove does not exist
debug: Puppet::Type::Package::ProviderZypper: file /usr/bin/zypper does not exist
debug: Puppet::Type::Package::ProviderFreebsd: file /usr/sbin/pkg_delete does not exist
debug: Puppet::Type::Package::ProviderUp2date: file /usr/sbin/up2date-nox does not exist
debug: Puppet::Type::Package::ProviderPkg: file /usr/bin/pkg does not exist
debug: Puppet::Type::Package::ProviderPortage: file /usr/bin/eix does not exist
debug: Puppet::Type::Package::ProviderAptrpm: file rpm does not exist
debug: Puppet::Type::Package::ProviderOpenbsd: file pkg_delete does not exist
debug: Puppet::Type::Package::ProviderUrpmi: file urpmq does not exist
Parameter provider failed: Invalid package provider 'pip' at /path/sis.pp:54
观察 puppet 解释器指向 sis.pp 文件中无法处理 provider => "pip" 的多个位置
需要帮忙。我现在将尝试在 puppet 源代码中查找终端输出代码行,以查看问题所在。如果有人已经知道解决方案,我们将不胜感激。
我在ubuntu上。