আমি হুবোট ইনস্টল করতে একটি শেফ কুকবুক লিখছি । রেসিপিতে, আমি নিম্নলিখিতগুলি করি:
bash "install hubot" do
user hubot_user
group hubot_group
cwd install_dir
code <<-EOH
wget https://github.com/downloads/github/hubot/hubot-#{node['hubot']['version']}.tar.gz && \
tar xzvf hubot-#{node['hubot']['version']}.tar.gz && \
cd hubot && \
npm install
EOH
end
যাইহোক, আমি যখন কুকবুক ইনস্টল করার সার্ভারে শেফ-ক্লায়েন্ট চালানোর চেষ্টা করি, তখন আমি হুবোট ব্যবহারকারী নয়, শেফ-ক্লায়েন্ট পরিচালিত ব্যবহারকারীর ডিরেক্টরিতে লেখার অনুমতি অস্বীকার করছি। কোনও কারণে, npm
ব্যাশ রিসোর্সে উল্লিখিত ব্যবহারকারী নয়, ভুল ব্যবহারকারীর অধীনে চলার চেষ্টা করা হচ্ছে।
আমি sudo su - hubot -c "npm install /usr/local/hubot/hubot"
ম্যানুয়ালি চালাতে সক্ষম হয়েছি এবং এটি আমার পছন্দমতো ফলাফল পায় (হুবোট ব্যবহারকারী হিসাবে হুবোট ইনস্টল করে)। তবে, মনে হচ্ছে শেফ-ক্লায়েন্ট হুবোট ব্যবহারকারী হিসাবে কমান্ডটি কার্যকর করছে না। নীচে আপনি শেফ-ক্লায়েন্টের সম্পাদন খুঁজে পাবেন। তুমাকে অগ্রিম ধন্যবাদ.
Saving to: `hubot-2.1.0.tar.gz'
0K ...... 100% 563K=0.01s
2012-01-23 12:32:55 (563 KB/s) - `hubot-2.1.0.tar.gz' saved [7115/7115]
npm ERR! Could not create /home/<user-chef-client-uses>/.npm/log/1.2.0/package.tgz
npm ERR! Failed creating the tarball.
npm ERR! couldn't pack /tmp/npm-1327339976597/1327339976597-0.13104878342710435/contents/package to /home/<user-chef-client-uses>/.npm/log/1.2.0/package.tgz
npm ERR! error installing hubot@2.1.0 Error: EACCES, permission denied '/home/<user-chef-client-uses>/.npm/log'
...
npm not ok
---- End output of "bash" "/tmp/chef-script20120123-25024-u9nps2-0" ----
Ran "bash" "/tmp/chef-script20120123-25024-u9nps2-0" returned 1