ถอนการติดตั้ง Ruby gems เวอร์ชันเก่า


381

ฉันมีพลอยหลายรุ่น:

$ gem list
rjb (1.3.4, 1.3.3, 1.1.9)

ฉันจะลบเวอร์ชันเก่าออกได้อย่างไร แต่ยังคงเวอร์ชันล่าสุดอยู่

คำตอบ:


652
# remove all old versions of the gem
gem cleanup rjb

# choose which ones you want to remove
gem uninstall rjb

# remove version 1.1.9 only
gem uninstall rjb --version 1.1.9

# remove all versions less than 1.3.4
gem uninstall rjb --version '<1.3.4'

259

สำหรับการลบพลอยเก่าที่ติดตั้งทั้งหมดออกไปคำสั่ง 2 ต่อไปนี้มีประโยชน์:

 gem cleanup --dryrun

คำสั่งด้านบนจะแสดงตัวอย่างสิ่งที่อัญมณีจะถูกลบออก

 gem cleanup

คำสั่งดังกล่าวจะลบพวกเขาจริง


ไม่ทำงานในการตั้งค่า ubuntu cloud9 ของฉัน ... ต้องทำงานกับ sudo
Mirv - Matt

13

gem uninstall rjb --version 1.3.4ลองสิ่งที่ต้องการ


1
คำถามคือ "ฉันจะลบเวอร์ชันเก่าออกได้อย่างไร การตอบสนองนี้จะลบรุ่นใหม่ล่าสุด
austinheiman

10

วิธีล้างอัญมณีรุ่นเก่า ๆ

sudo gem cleanup

หากคุณต้องการเห็นรายการสิ่งที่จะถูกลบคุณสามารถใช้:

sudo gem cleanup -d

นอกจากนี้คุณยังสามารถล้างข้อมูลอัญมณีเฉพาะโดยระบุชื่อ:

sudo gem cleanup gemname

สำหรับลบเฉพาะรุ่นเช่น 1.1.9 เท่านั้น

gem uninstall gemname --version 1.1.9

หากคุณยังคงพบข้อยกเว้นในการติดตั้งอัญมณีเช่น:

gem ที่ไม่ถูกต้อง: แพคเกจเสียหายยกเว้นขณะตรวจสอบ: undefined method `size 'สำหรับ nil: NilClass (NoMethodError) ใน /home/rails/.rvm/gems/ruby-2.1.1@project/cache/nokogiri-1.6.6.2 อัญมณี

คุณสามารถลบมันออกจากแคช:

rm /home/rails/.rvm/gems/ruby-2.1.1@project/cache/nokogiri-1.6.6.2.gem

สำหรับรายละเอียดเพิ่มเติม:

http://blog.grepruby.com/2015/04/way-to-clean-up-gem-or-remove-old.html


คุณอาจไม่ควรใช้sudo
PR Whitehead

8

gem cleanupใช้คำสั่งระบบ อัญมณีที่ติดตั้งเป็นเพียงไดเรกทอรีในระบบไฟล์ rm -Rหากคุณต้องการที่จะลบชุดใช้

  1. gem environment และจดบันทึกค่าของ GEM PATHS
  2. cd <your-gem-paths>/gems
  3. ls -1 |grep rjb- |xargs rm -R

2
"อัญมณีที่ติดตั้งเป็นเพียงไดเรกทอรีในระบบแฟ้ม" เป็นการดีที่จะรู้ขอบคุณ
philant

0

คุณอาจต้องตั้งค่าGEM_HOMEให้การล้างข้อมูลทำงาน คุณสามารถตรวจสอบเส้นทางที่มีอยู่สำหรับ gemfiles ได้โดยเรียกใช้

gem env

จดหมวด GEM PATHS

ในกรณีของฉันเช่นมีการติดตั้งพลอยในบ้านผู้ใช้ของฉัน:

export GEM_HOME="~/.gem/ruby/2.4.0"
gem cleanup
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.