মণি ইনস্টল অনুমতি সমস্যা


90
qichunren@zhaobak:~> gem install hpricot
ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions into the /opt/ruby-enterprise-1.8.7/lib/ruby/gems/1.8 directory.

বর্তমান লগইন ব্যবহারকারীর কিচুনরেন, এবং কিচুনরে ব্যবহারকারীর কাছে .gem dir দিয়ে লেখার অনুমতি রয়েছে I আমি জানতে চাই কেন রত্নটি আমার ঘরে প্রথমে ফাইল ইনস্টল করে না? আমার মণিটি কেন প্রথমে ফাইলগুলি /opt/ruby-enterprise-1.8.7/lib/ruby/gems/1.8 এ ইনস্টল করতে চায়?

উত্তর:


52

সিস্টেমওয়াইড রুবি ইনস্টলের জন্য, রুট হয়ে উঠুন। উদাহরণ স্বরূপ:

$ sudo gem install hpricot

তবে বিকাশ সহ অনেক পরিস্থিতিতে আধুনিক পদ্ধতি হ'ল এমন একটি সরঞ্জাম ব্যবহার করা যা আপনাকে সহজেই রুবিকে সাধারণ ব্যবহারকারী হিসাবে ইনস্টল করতে এবং ব্যবহার করতে দেয়। এটি আপনাকে রুট হওয়া এড়াতে দেয়। এই জাতীয় কয়েকটি সরঞ্জাম রয়েছে এবং আমি যেটি ব্যবহার করি তা হ'ল আরভিএম

# install rvm into your ~
$ \curl -sSL https://get.rvm.io | bash -s stable

# install latest version of ruby into your ~
$ rvm install ruby

# installs a gem into your ~
$ gem install $SOME_GEM_NAME

41
সুডো ব্যবহার করবেন না কারণ আপনি এগুলিকে মূল হিসাবে ইনস্টল করবেন এবং যখন আপনি সাধারণ ব্যবহারকারী ব্যবহার করেন তখন তাদের অ্যাক্সেস পাবেন না। আরভিএম এবং রত্ন ব্যবহার করুন।
রায়ান

4
উদাহরণস্বরূপrvm gem install hpricot
এজেপি

4
আপনি এই উত্তরটি মুছতে চাইবেন। আপনি পয়েন্টগুলি বজায় রাখবেন, এবং মানুষকে প্রচুর মাথা ব্যথা বাঁচাতে পারবেন।
ওলহভস্কি

174

সেটিং ব্যবহার করে দেখুন GEM_HOMEএবং GEM_PATHকরতে ~/.gem,

বর্তমান টার্মিনাল সেশনের জন্য, কেবল টাইপ করুন:

export GEM_HOME=~/.gem
export GEM_PATH=~/.gem

আপনি যখনই কোনও টার্মিনাল খুলুন আপনি যদি সেগুলি সেট করতে চান তবে উপরের কমান্ডগুলি আপনার ~/.bashrcফাইলে যুক্ত করুন।

কাস্টম রুবি পরিবেশ স্থাপনের আরও ব্যাপক সমাধানের জন্য, সাইট 5 কেবি থেকে এই টিউটোরিয়ালটি দেখুন , যা কোনও .gemrcফাইল ব্যবহার করে বর্ণনা করে ।


11
এটি আসল সঠিক উত্তর। আপনার দরকার না থাকলে সুডো ইনস্টল করার জিনিসগুলিতে চলুন না।
জেসি ওব্রায়ান

উত্তরের লিঙ্কটি বদলে গেছে বলে মনে হচ্ছে। এই গাইডের প্রথম পদক্ষেপটি আমার জন্য একই জিনিসটি সম্পন্ন করেছে যদিও: kb.site5.com/ruby-on-rails/…
মাইক এস

@ মাইকস্লুটস্কি এটি উল্লেখ করার জন্য ধন্যবাদ। ভবিষ্যতে, যদি আপনি একটি ভাঙা লিঙ্ক (বা একটি লিঙ্ক যা পরিবর্তিত হয়েছে এবং এটি আর প্রাসঙ্গিক নয়) সন্ধান করেন তবে আপনার যদি কোনও উপযুক্ত প্রতিস্থাপন রয়েছে বলে মনে করেন তবে "সম্পাদনা" পরামর্শটি নির্দ্বিধায় জমা দিন।
মেগার

@ মায়াগার আমি @ মাইক-স্লুটস্কি দ্বারা প্রদত্ত লিঙ্কটি আপডেট করেছি, তবে লক্ষ্য করেছি যে এটি .gemrcকনফিগারেশনের জন্য নথিপত্র । রুবি রত্ন novices জন্য, এটি খুব বিরক্তিকর, যখন আমি যুক্ত করেছি যে আপনার সমাধানটি আমি আরও সহজ করেছিলাম simp সমাধানটি আমার পক্ষে কাজ করে তবে একজন রুবি নুবি হিসাবে, দয়া করে নিশ্চিত করুন যে আমার পরিবর্তনগুলি আপনার ইচ্ছার সাথে সামঞ্জস্যপূর্ণ।
ডেভিড লেবাউর

4
গ্লোবাল PATH এ আপনার GEM_PATH যুক্ত করার কথা মনে রাখবেন। এটি আমিই করি:PATH=$HOME/.gems/bin:$HOME/bin:$PATH GEM_HOME=$HOME/.gems GEM_PATH=$HOME/.gems:/var/lib/gems/2.1.0:/usr/lib/ruby/gems/2.1.0 export PATH GEM_HOME GEM_PATH
'15 এ স্পোন

10

আমি 1 তম 1 হোস্টিংয়ের মাধ্যমে আমার ভাগ করা সার্ভারে এই ত্রুটিটি পাচ্ছিলাম। আমার সমাধানটি --user-installবিকল্পটি যুক্ত করছিল , যা এটি কেবল আপনার লগইন করা ব্যবহারকারীর জন্য ইনস্টল করে (যা একটি ভাগ করা সার্ভারের পরিবেশে আপনার যা প্রয়োজন কেবল) উদাহরণ; sass ইনস্টল করা হচ্ছে

gem install sass --user-install

মজার বিষয় হচ্ছে, আমি উল্লেখ করেছি যদিও আমি এই ত্রুটিটি পাচ্ছি --user-install
স্কুবার্থ

4

আপনি যদি rbenv ব্যবহার করছেন এবং এটি হ'ল, আপনার আপনার .bash_profile এ নিম্নলিখিতগুলি যুক্ত করতে হবে:

export RBENV_ROOT="$HOME/.rbenv"

if [ -d $RBENV_ROOT ]; then
  export PATH="$RBENV_ROOT/bin:$PATH"
  eval "$(rbenv init -)"
fi

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.