كيفية مسح Rubygems تمامًا مع القضبان وما إلى ذلك
-
26-09-2019 - |
سؤال
حسنًا ، لذلك قررت أن أكون رائعًا وأحاول استخدام Rails3 في الإصدار التجريبي. بعد ذلك ، كانت الأمور يصعب إدارتها ، لذا حصلت على RVM. لقد قمت بتثبيت Ruby 1.9.2 رأسًا في RVM وكانت الأمور تعمل ، ثم لن تبدأ إعادة تشغيل الكمبيوتر لاحقًا. لذلك كنت أحسب أنني سأحاول فقط تشغيل نظام Ruby وبدء القضبان فيه. نفس الخطأ. بعد ذلك ، قمت بإلغاء تثبيت Rails3 وحصلت على القضبان: لا توجد أخطاء من هذا الملف أو نوع الدليل ..
لذا ، فأنا الآن مشدود لأن Rails2 لا يزال مثبتًا ولكن لن يتم إلغاء تثبيته بسبب التبعيات غير المرئية ، إلى جانب الكثير من الأحجار الكريمة العشوائية الأخرى. كيف يمكنني مسح جميع الأحجار الكريمة الياقوت تمامًا ، حتى أتمكن من البدء من جديد؟
المحلول
لقد اضطررت مؤخرًا إلى ذلك فقط. لقد قمت ببناء الكثير من Cruft مع تركيب نظامي Ruby و Gems وأردت تنظيف كل ذلك ونقل كل شيء للتشغيل تحت RVM لمشاريع مختلفة.
1. تنظيف قديم وضبط
أول شيء فعلته ، قبل العبث بـ RVM (أو الركض rvm system
للعودة إلى نظام Ruby) ، كان قم بإزالة جميع الأحجار الكريمة الخاصة بي:
gem list | cut -d" " -f1 | xargs gem uninstall -aIx
تحذير: هذا سوف يقوم بإلغاء تثبيت جميع الأحجار الكريمة. إذا قمت بتثبيت الجذر ، فقد ترغب في التبديل إلى الجذر وتشغيل هذا.
2. تثبيت الساخنة الجديدة
الآن يمكنك الجري gem list
لمعرفة ما تبقى.
حان الوقت لتثبيت RVM ، أوصي بتفكيك التثبيت الحالي وإعادة تثبيت Fresh:
rm -rf $HOME/.rvm
bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )
الآن الحيلة الحقيقية هي استخدام الأحجار الكريمة لتثبيت القضبان 3 ، وهذا أمر سهل إذا اتبعت جوائز Waynee Seguin's:
rvm update --head
rvm install 1.8.7
rvm --create use 1.8.7@rails3
curl -L http://rvm.beginrescueend.com/gemsets/rails3b3.gems -o rails3b3.gems
rvm gemset import rails3b3.gems
أحد الاختلافات هو أنني أستخدم 1.8.7 منذ أن واجهت مشاكل مع 1.9.2 رأسًا و RSPEC ، لكن 1.8.7 كان سلسًا.
نصائح أخرى
أنت تقول أنك حصلت بالفعل على Rails 2 وبعد ذلك قمت بتثبيت RVM. جرب إذا كان يمكنك إزالة Ruby و Rails باستخدام مدير الحزمة لنظامك (Yum ، Apt ، ...)
من المرجح أن يكون الخطأ الذي حصلت عليه هو النتيجة على وجود رابط في مكان عام لا يزال موجودًا ، لكنه يشير إلى دليل التثبيت الحقيقي الذي لم يعد موجودًا.
علي سبيل المثال: /usr/bin/ruby
موجود ويشير /usr/local/lib/ruby/1.9.2/bin/ruby
الذي لم يعد موجودًا.
بعد ذلك ، قم بتنظيف أي مسارات ذات صلة بالسكاكين والقضبان في /usr
ومدافعها الفرعي.