2016-08-24 126 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