إلغاء تثبيت القضبان و الأحجار الكريمة, الحصول على خطأ "لا يمكن إلغاء تثبيت ، تحقق 'جوهرة قائمة -د ...'

StackOverflow https://stackoverflow.com/questions/4007074

سؤال

أنا ذاهب لبدء مع المعتاد مستجد خط "أنا جديد على القضبان".أنا تشغيل Mac OSX 10.6.4

لقد تم في أعقاب مجموعة من أدلة للحصول على اقامة ، وتحديدا هذين هنا و هنا.أدلة كبيرة, السبب أنا باستخدام الثاني هو بسبب RVM والسبب أنا باستخدام الأول هو عن الخلية.

على أي حال, عندما بدأت لم أكن اتباع الإرشادات تماما وذلك بعد لقد قمت بتثبيت RVM ، لسبب ما لقد قمت بتثبيت القضبان مع sudo gem install rails -v 2.3.8 لأن هذا الإصدار أريد.لذا...أدركت أنني كنت تستخدم نظام روبي و لم يكن الاستفادة من RVM.ما فعلته الآن هو تثبيت روبي 1.9.2 حتى أتمكن من تثبيت القضبان 3 و اختبار بها و أنا أيضا تثبيت 1.8.7 والقضبان 2.3.8 لذا يمكن استخدامه على ما أنا في حاجة إليها.

الآن أنا أحاول تثبيت الأحجار الكريمة من نظام روبي, ولكن كلما أحاول أنا على الحصول على هذا الخطأ:

خطأ:أثناء تنفيذ جوهرة ...(Gem::InstallError)
لا يمكن إلغاء تثبيت ، تحقق 'جوهرة قائمة -d مهما جوهره محاولة إلغاء'

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


تحديث:

عن طريق تشغيل الأمر gem list -d rails لقد حددت الأحجار الكريمة في /System/Library/أطر/روبي.إطار/إصدارات/1.8/usr/lib/روبي/الأحجار الكريمة/18.يجب حذفها يدويا ؟

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

المحلول

الحل!!ما زلت لا أفهم لماذا حدث هذا, أحب إذا كان شخص ما يمكن أن يفسر.لماذا كان الطريق غير متوفرة -?ما سبب هذا الخطأ ؟

كما أريد أن أذكر أن الحل لا ربط له تعليق يقول أن السؤال هو نسخة مكررة.ومع ذلك ، الأصلي لديه حل آخر و لم يساعدني (على أساس إيجاد إجابة).ببساطة حذف الأحجار الكريمة يدويا في finder لن إزالتها من جوهرة قائمة.

دون مزيد من اللغط - اتضح أن عند محاولة إزالة تثبيت جوهرة ، فإنه لا يمكن تحديد المسار (أعتقد أن المشكلة بسبب تثبيت مع سودو ، ولكن قد أكون مخطئا).ما عليك القيام به هو (عليك أن تفعل هذا واحد من قبل واحد لكل جوهرة, أو على الأقل أنا كان):

  1. gem list -d 'name of gem' و لاحظ "المثبتة في:" الموقع (في حالتي ، /نظام/المكتبة/أطر/روبي.إطار/إصدارات/1.8/usr/lib/روبي/الأحجار الكريمة/1.8)
  2. sudo gem uninstall 'name of gem' -i 'the path noted above' (ex.في حالتي ، sudo gem uninstall rails -i /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8
  3. بعض الأحجار الكريمة لا يزال قد لا تثبيت العائدين خطأ أذونات.إذا كان هذا هو الحال, ما عليك القيام به هو إنشاء مجلد /bin في المسار أعلاه.(في حالتي ، mkdir /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8/bin
  4. مواصلة إلغاء التثبيت كما في الخطوة 2 ، لا تزال تستخدم المسار الأصلي (/نظام/المكتبة/أطر/روبي.إطار/إصدارات/1.8/usr/lib/روبي/الأحجار الكريمة/1.8).

الآن إلغاء تثبيت يجب أن تعمل!

نصائح أخرى

اثنين من الأشياء التي يجب ملاحظة عند استخدام rvm:

  1. يجب أن أبدا استخدام sudo لتثبيت الأحجار الكريمة ، لا مجرد gem install xxx

  2. لا يمكنك إلغاء تثبيت الأحجار الكريمة المثبتة في العالمية gemset من ضمن آخر gemset.يجب التبديل إلى العالمية gemset و تثبيت من هناك:


 rvm gemset use global
 gem uninstall xxx

تنفيذ هذا سواء في المجلس أو في السيناريو المناسب:

`gem list --no-versions`.split("\n").each do |gem|
  `gem list -d #{gem}`.gsub(/Installed at(.*):.*/).each do |dir|
    dir = dir.gsub(/Installed at(.*): /,'').gsub("\n", '')
    system "gem uninstall #{gem} -aIx -i #{dir}"
  end  
end

جرب هذه الطريقة :

sudo apt purge rails

طيب أنا أرى....

عند هذه النقطة إذا كنت في المحطة ، فإنه لن يستغرق سوى بضع دقائق إلى إعادة تثبيت كاملة

وأظن أنك قد لا تكون في الصحيح rvm اسم يحتوي على الأحجار الكريمة أنت تحاول تثبيت لذلك أقترح إعادة تثبيت جواهر روبي وبناء أنت الأساسية الأحجار الكريمة من البداية في Global rvm gemset اسم.

المزيد من generic الإجابة على حذف جميع الأحجار الكريمة للحصول على الإصدارات القديمة من الأحجار الكريمة 1.8.

جوهرة قائمة-لا-إصدارات | xargs سودو جوهرة إلغاء-aIx

كنت تستخدم RVM إلى إدارة gemsets ولم اختيار gemset.أنا لم يكن لدي اختيار خاطئ gemset كان لم اختار gemset على الإطلاق.طريقة رائعة تنفق الجزء الأكبر من ساعة من صباح اليوم الأول بعد عطلة الصيف!

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