通过puppet安装nodejs失败

时间:2016-08-24 14:36:06

标签: node.js puppet puppetlabs-apache

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

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

2 个答案:

答案 0 :(得分:2)

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

确保使用您的清单调用include 'nodejs'之类的内容

答案 1 :(得分:0)

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

puppet module install treydock-gpg_key

puppet module install stahnma-epel