2016-08-24 125 views
0

基本上我想要做以下使用傀儡:通过木偶安装失败的NodeJS

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 [email protected]:hello-world/nodejs-helloworld.git -(git clone the application repo) 
4.Run the application 
npm install 
npm start 
npm test 

我是新来的木偶configurtion管理工具。到目前为止,我已经完成了puppet master-agentnt setup。

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

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

我在RHEL上使用木偶版本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', 
} 

当我在代理运行下面指令i得到此错误:

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 
+0

你试过把版本在单引号?像'6.2.2'? –

+0

感谢您的评论。添加引号后它说:“无法找到类nodejs” - 我编辑了我的问题。 – nadish

+0

你在做木偶吗?有没有高手?在目录环境或模块路径中定义了类“nodejs”吗?我们可以提供更多信息。 –

回答

2

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

确保像include 'nodejs'被称为withing您的清单

+0

我已经安装了puppetlabs-nodejs模块并更改了我的site.pp文件。请检查我的问题了解更多详情。这次它会失败,出现不同的错误'/etc/puppet/modules/nodejs/manifests/repo/nodesource/yum.pp'无效的资源类型gpg_key' – nadish

+0

这个'答案'需要更新或删除。事实上,它只是建议做一些提问者已经说过的问题。 –

+0

该问题已多次更新,答案涵盖了其他人可能遇到的问题 –

0

安装下面的模块解决了这个错误,并安装的NodeJS

puppet module install treydock-gpg_key 

puppet module install stahnma-epel