سؤال

لدي بعض الأحجار الكريمة التي لن تختفي.

أعتقد أن الأمر يتعلق عندما قمت بتثبيتها. في بعض الأحيان ، نسيت استخدام "sudo" قبل إجراء تثبيت جوهرة ، مما يؤدي إلى خطأ في الكتابة ، ومن ما يمكنني جمعه يضع نسخة من الجوهرة في دليل المستخدم الخاص بي بدلاً من مكان ما يمكن تشغيله. لكن إلغاء التثبيت GEM لا يعمل. يظهر باستمرار في "قائمة الأحجار الكريمة" ولكن لا يمكن إلغاء تثبيته من إما إلغاء تثبيت GEM ، أو إلغاء تثبيت Sudo GEM. حاولت حذف جوهرة واحدة مباشرة بعد العثور على المسار في "بيئة الأحجار الكريمة" الخاصة بي ، لكن ذلك لا يزال يترك الجوهرة في القائمة.

هل من الممكن أيضًا إزالة جميع الأحجار الكريمة والبدء من الصفر؟ هذه تقودني المكسرات.

أنا أقوم بتشغيل OS X.

هل كانت مفيدة؟

المحلول

افترض أن gem clean (أو sudo gem clean) لا تعمل ، سأحاول ما يلي لإزالة جميع الأحجار الكريمة من نظامك:

يمكنك معرفة أين تم تثبيت الأحجار الكريمة عن طريق تشغيل الأمر:

gem env paths

لإزالة جميع الأحجار الكريمة على نظامك ، ما عليك سوى إزالة المجلدات التي يتم إرجاعها بواسطة هذا الأمر.

بالإضافة إلى ذلك ، على OSX Leopard ، يتم تثبيت الأحجار الكريمة الافتراضية في هذا المجلد:

/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8

إذا كان هذا المجلد موجودًا على نظامك ، كما كان من قبل ، يمكنك إزالة هذا المجلد لضمان حذف جميع الأحجار الكريمة.

نصائح أخرى

يمكنك أيضًا القيام بما يلي للتخلص من الأحجار الكريمة المثبتة.

gem list -d [gem name]
gem uninstall --install-dir [install directory] [gem name]

إذا كانت الأشياء المذكورة سابقًا لا تعمل ، فقد اضطررت إلى القيام بذلك بنفسي اليوم.

لقد واجهت مشكلة مماثلة ، ولكن تبين أن مشكلة الجذور هي الأحجار الكريمة التي كانت تتجول لسبب غير معروف.

بعد أن اعتقدت أنني قمت بإلغاء تثبيت جميع الأحجار الكريمة:

matt$ gem1.9 list
*** LOCAL GEMS ***
minitest (1.6.0)
rake (0.8.7)
rdoc (2.5.8)

لا توجد جواهر هنا:

matt$ ls -al /opt/local/lib/ruby1.9/gems/1.9.1/gems/
total 0
drwxr-xr-x  2 root  admin   68 Jul 23 14:54 .
drwxr-xr-x  8 root  admin  272 Mar  3 14:56 ..

هناك هم!

matt$ ls -al /opt/local/lib/ruby1.9/gems/1.9.1/specifications/
total 24
drwxr-xr-x  5 root  admin  170 Jul 23 14:54 .
drwxr-xr-x  8 root  admin  272 Mar  3 14:56 ..
-rw-r--r--  2 root  admin  129 Nov  1  2010 minitest.gemspec
-rw-r--r--  2 root  admin  121 Nov  1  2010 rake.gemspec
-rw-r--r--  2 root  admin  121 Nov  1  2010 rdoc.gemspec

قم بإزالة الأحجار الكريمة:

matt$ sudo rm /opt/local/lib/ruby1.9/gems/1.9.1/specifications/*

والآن اختفت الأحجار الكريمة:

matt$ gem1.9 list
*** LOCAL GEMS ***

إذا كان لديك إصدارات متعددة من جوهرة ، فسيتعين عليك أولاً القيام بالتنظيف ثم حذف الجوهرة النهائية.

 gem cleanup <gemname>
 gem uninstall <gemname> --version

كان لدي جوهرة لن تموت واضطررت إلى الذهاب إلى مسار "Nuke Everything" عن طريق حذف جميع جواهر بلدي مع الأمر gem uninstall -aIx. ثم فقط gem install <gemname> وكنت احتياطيًا وأركض.

قم بتحديث الإصدار الخاص بك من تحديث Ruby Gems GEM -النظام ، ثم نأمل أن يعمل إلغاء تثبيت GEM XXX الآن [كان خطأ في الإصدارات القديمة

الدفع RVM, ، يتيح لك إدارة بيئة الياقوت بالكامل تحت المستخدم بدلاً من دليل النظام. لقد وجدت أنه من الأسهل بكثير إدارة إصدارات Ruby و Gems باستخدامها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top