rubygems - আপনার কাছে/var/lib/gems/2.3.0 ডিরেক্টরিতে লেখার অনুমতি নেই




gem-bundler (4)

আপনাকে প্রথমে উবুন্টু দ্বারা ইনস্টল করা রুবি আনডল করে sudo apt-get remove ruby মতো কিছু দিয়ে আনইনস্টল করতে sudo apt-get remove ruby

তারপরে rbenv তাদের ডক্স অনুযায়ী rbenv এবং ruby-build ব্যবহার করে পুনরায় ইনস্টল করুন:

cd $HOME
sudo apt-get update 
sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev python-software-properties libffi-dev

git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $SHELL

git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
exec $SHELL

rbenv install 2.3.1
rbenv global 2.3.1
ruby -v

শেষ পদক্ষেপটি বান্ডিলার ইনস্টল করা:

gem install bundler
rbenv rehash

তারপর ভোগ!

ডেরেক

আমি আমার উবুন্টু 16.04 এ রুবি ইনস্টল করেছি।

$which ruby  

/usr/bin/ruby

$ruby -v 

ruby 2.3.0p0 (2015-12-25) [x86_64-linux-gnu]

$gem install bundler 

ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /var/lib/gems/2.3.0 directory.

যে কোন সাহায্য সাদরে গৃহীত হবে!


আপনি যদি rb-env / rvm এর পরিবর্তে রুবি ব্যবহার করতে চান তবে আপনি আপনার বর্তমান ব্যবহারকারীর জন্য একটি GEM_HOME সেট আপ করতে পারেন। আপনার ব্যবহারকারীর জন্য রুবি রত্ন সংরক্ষণের জন্য একটি ডিরেক্টরি তৈরি করে শুরু করুন:

$ mkdir ~/.ruby

তারপরে GEM_HOME জন্য সেই ডিরেক্টরিটি ব্যবহার GEM_HOME এবং রুবি রত্ন বিন ডিরেক্টরি অন্তর্ভুক্ত করতে আপনার PATH ভেরিয়েবল আপডেট করতে আপনার শেলটি আপডেট করুন।

$ echo 'export GEM_HOME=~/.ruby/' >> ~/.bashrc
$ echo 'export PATH="$PATH:~/.ruby/bin"' >> ~/.bashrc
$ source ~/.bashrc

(এই শেষ লাইনটি আপনার বর্তমান শেলের পরিবেশ পরিবর্তনশীলগুলি পুনরায় লোড করবে))

এখন আপনার gem কমান্ডটি ব্যবহার করে আপনার ব্যবহারকারীর অধীনে রুবি রত্ন ইনস্টল করতে সক্ষম হওয়া উচিত। আমি উবুন্টু 18.04 এর আওতায় রুবি 2.5.1 এর সাথে এই কাজটি করতে সক্ষম হয়েছি। আপনি যদি শেল ব্যবহার করছেন যা বাশ নয়, তবে আপনাকে bashrc পরিবর্তে সেই শেলের জন্য প্রারম্ভিক স্ক্রিপ্টটি সম্পাদনা করতে হবে।


পরিবর্তে মালিকদের পরিবর্তে, যা অন্য স্থানীয় ব্যবহারকারীদের লক আউট করতে পারে, বা ome কিছুদিন server আপনার নিজের রুবি সার্ভার / স্থাপনা-জিনিসগুলি ... অন্য কোনও ব্যবহারকারীর অধীনে চলছে ...

আমি বরং সেই নির্দিষ্ট ফোল্ডারের অধিকারগুলি কেবল ... প্রসারিত করতে চাই:

cd /var/lib
sudo chmod -R a+w gems/

(আমি আপনার ত্রুটিটিরও মুখোমুখি হয়েছি So সুতরাং এটি মোটামুটি যাচাই করা হয়েছে))


var/lib/gems ডিরেক্টরিতে chown -R ব্যবহার করার চেষ্টা করুন, উদাহরণস্বরূপ ব্যবহারকারীর [ rubyusername ] এর মালিকানা নির্ধারণ করুন, যে ব্যবহারকারী রত্ন দ্বারা ইনস্টল এবং বিকাশ করবে।

 # chown -R rubyusername:rubyusername /var/lib/gems 

এটি রত্ন ডিরেক্টরিতে পুনরাবৃত্তভাবে সমস্ত কিছু পরিবর্তন করে। মাল্টি-ইউজার সিস্টেমে অতিরিক্ত সুরক্ষার জন্য, আপনি পৃথক রুবুইসারনাম ছাঁটাইয়ের পরিবর্তে একটি গোষ্ঠী তৈরি করতে এবং ব্যবহারকারীদের সেই গোষ্ঠীতে যুক্ত করতে পারেন।