تثبيت الأحجار الكريمة باستخدام RVM
سؤال
عند محاولة تثبيت الأحجار الكريمة باستخدام RVM ، أحصل على هذا الخطأ
$ rvm gem install sproutcore
ERROR: While executing gem ... (Errno::EACCES)
Permission denied - /home/tee/.gem/specs
لكنه يقول على موقع RVM أنه يجب ألا تستخدم Sudo ، لذا لست متأكدًا من الخطأ في الإعداد الخاص بي
عندما أكتب $ gem_home ، يوضح أن الدليل يشير إلى RVM Dir
$GEM_HOME
bash: /home/tee/.rvm/gems/ruby-1.8.7-p302: is a directory
أي أفكار ما أفعله خطأ؟
المحلول
هناك مشكلة إذن مع مجلد .gem الخاص بك. تأكد من أن المالك هو مستخدمك الحالي.
sudo chown -R tee /home/tee/.gem
إذا لم ينجح ، قم بإزالة مجلد .gem. يتم إنشاؤه تلقائيًا عند تحديث ذاكرة التخزين المؤقت GEM.
أيضا ، تأكد من أنك لم تستخدم sudo مع RVM.
نصائح أخرى
كانت لدي نفس المشكله. أنا أعيد هذا الأمر
مصدر $ $ ~/.rvm/scripts/rvm
من نافذة طرفية جديدة (كما هو مقترح عند تثبيت RVM وربما يتم التغاضي عنها عندما كنت أقوم بتثبيت RVM) ويبدو أن الأمور على ما يرام بعد ذلك
أو فقط
$ rvm <ruby_version> $ gem install sproutcode
هذا يجب أن يعمل بالتأكيد.
ربما لا تكون الطريقة الصحيحة لفعل الأشياء ، لكنني وجدت أن استخدام RVMSUDO حل المشكلة ، على سبيل المثال
RVMSUDO GEM تثبيت القضبان
كنت أواجه نفس المشكلة لأنه تم تثبيت RVM على مستوى العالم ، في/usr/local/rvm ، لذلك لم يكن لديه إذن لتثبيت GEMS في دليل Ruby.
يتمثل الحل البديل في استخدام تثبيت المستخدم المفرد ، وسيؤدي ذلك إلى تثبيت RVM في Home DirectTory (~/.rvm) بحيث يكون لها جميع الأذونات اللازمة لتثبيت الأحجار الكريمة والأحجار الكريمة.
إذا كنت تريد معرفة الموضوع بشكل أفضل قراءة https://rvm.io/rvm/install . سترى أن تثبيت المستخدم الفردي هو الموصى به.