আমি নিম্নলিখিত শেফ কমান্ডটি চালানোর চেষ্টা করছি:
# install zombiejs, q (promises), should, coffee-script & mocha
execute "install q and zombiejs" do
cwd "/home/vagrant"
user "vagrant"
action :run
command "npm install -g q zombie should mocha coffee-script"
end
কিন্তু এটা কারণ খুঁজে পাচ্ছি না ব্যর্থ রাখে npm
:
[ইনস্টল কিউ এবং জম্বিজেজ] কার্যকর করুন (শেফ-রেডটেল :: ডিফল্ট লাইন 205) এর মধ্যে একটি ত্রুটি ছিল: এর্নো :: উত্সাহ: এ জাতীয় কোনও ফাইল বা ডিরেক্টরি নেই - এনএমপি ইনস্টল -জিকিউ জম্বি মোচি কফি-স্ক্রিপ্টের উচিত
vagrant ssh
কমান্ডটির মাধ্যমে যোনিতে লগ ইন করা এবং ম্যানুয়ালি পরিচালনা করা পুরোপুরি সূক্ষ্মভাবে কাজ করে। sudo -i
কমান্ডের মাধ্যমে রুট হিসাবে লগ ইন করা এবং কমান্ডটি চালানো একই কারণে ব্যর্থ হয় শেফ রেসিপি ব্যর্থ হয় (এনপিএম স্থানীয়ভাবে কেবল যোদ্ধাদের জন্য ইনস্টল করা হয়, মূলের জন্য নয়: এটি আমি চাই)।
সুতরাং ... আমি কীভাবে এই শেফ execute
ব্লকটিকে ভ্রান্ত ব্যবহারকারী হিসাবে চালাতে এবং রুট হিসাবে চালানোর জন্য নির্দিষ্ট করতে পারি ?
আপডেট : আমি মনে করি এটি আমার সমস্যাটিকে সারিয়ে তুলবে:
(ssh) /vagrant git:backbone ❯ whoami
vagrant
(ssh) /vagrant git:backbone ❯ which npm
/home/vagrant/.local/bin/npm
(ssh) /vagrant git:backbone ❯ echo $PATH
/home/vagrant/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
(ssh) /vagrant git:backbone ❯ sudo -H -u vagrant -i echo $PATH
/home/vagrant/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
(ssh) /vagrant git:backbone ❯ sudo -H -u vagrant -i which npm
npm not found
http://tickets.opscode.com/browse/CHEF-2517 এর মাধ্যমে
অন্য আপডেট : সুতরাং আমি এই তাত্পর্যটি কেবল লক্ষ্য করেছি:
(ssh) /vagrant git:backbone ❯ sudo -H -u vagrant -i echo $PATH
/home/vagrant/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
(ssh) /vagrant git:backbone ❯ sudo -H -u vagrant -i export
HOME=/home/vagrant
LANG=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
LOGNAME=vagrant
MAIL=/var/mail/vagrant
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
SHELL=/bin/zsh
SSH_AUTH_SOCK=/tmp/ssh-uJUopA4146/agent.4146
SUDO_COMMAND='/bin/zsh -c export'
SUDO_GID=1001
SUDO_UID=1000
SUDO_USER=vagrant
TERM=xterm
USER=vagrant
পার্থক্য লক্ষ্য করুন PATH
? রফতানিতে এর /home/vagrant/.local/bin
তালিকাভুক্ত ডিরেক্টরি নেই ... কেন প্রথম প্রতিধ্বনি PATH
এটির সাথে ফিরে আসবে এবং দ্বিতীয় রফতানি PATH
না করে কেন ফিরে আসবে? এটা কি ইস্যু?