通过 puppet 安装 nodejs 失败

Installing nodejs via puppet fails

基本上我想用木偶做以下事情:

1.sudo yum install nodejs npm --enablerepo=epel
setup nodejs evironment(latest stable version) on puppet agent
2.sudo yum install git-(install git)
3.git clone git@gitlab.ishwarya.net:hello-world/nodejs-helloworld.git -(git clone the application repo)
4.Run the application
npm install
npm start
npm test

我是 Puppet 配置管理工具的新手。到目前为止,我已经完成了 puppet master -agent 设置。

sudo yum install puppet-server on puppet master node
sudo yum install puppet on agent node

并且能够在我的代理上成功安装 apache。

我在 RHEL 上使用 puppet 版本 3.8.7。作为第一步,我需要在 puppet 代理上安装 nodejs 到 运行 我的应用程序。

安装了 puppetlabs-nodejs 模块

puppet module install puppetlabs-nodejs

/etc/puppet/manifests/site.pp 在主节点上包含以下代码:

class { '::nodejs':
  nodejs_dev_package_ensure => 'present',
  npm_package_ensure        => 'present',
  repo_class                => '::epel',
}

当我 运行 在代理上执行以下命令时,出现此错误:

puppet agent -t 

代码失败并出现以下错误

 Error: Could not retrieve catalog from remote server: Error 400 on SERVER: Puppet::Parser::AST::Resource failed with error ArgumentError: 
Invalid resource type gpg_key at /etc/puppet/modules/nodejs/manifests/repo/nodesource/yum.pp:58 on node ip-**********
Warning: Not using cache on failed catalog
Error: Could not retrieve catalog; skipping run

您应该安装 puppetlabs-nodejs 模块或自己编写。无论哪种方式,你都应该有一个 nodejs 模块,它在它的 init.pp 文件中定义了 nodejs class。

确保在您的清单中调用 include 'nodejs' 之类的东西

安装以下模块解决了错误并安装了 nodejs

puppet module install treydock-gpg_key

puppet module install stahnma-epel