วิธีลบ RVM (Ruby Version Manager) ออกจากระบบของฉัน


575

ฉันจะลบ RVM (Ruby Version Manager) ออกจากระบบของฉันได้อย่างไร


9
ไม่แน่ใจเกี่ยวกับความตั้งใจของคุณที่จะลบrvm- อาจเป็น 'ความrbenvโง่เขลา' - แต่เป็นทางเลือกที่คุ้มค่าคุณยังสามารถจัดการ Ruby หลายเวอร์ชันในระบบของคุณได้ แต่มันไม่ได้แทนที่คำสั่งเชลล์ไม่ได้จัดการ gemsets ( Bundler มีเพียงพอแล้ว) และไม่จำเป็นต้องโหลดในเชลล์
Jochem Schulenklopper

คำตอบ:


923

มีคำสั่งง่ายๆในตัวที่จะดึงมัน:

rvm implode

การทำเช่นนี้จะลบrvm/ไดเรกทอรีและทับทิมทั้งหมดที่อยู่ภายใน ในการลบร่องรอยสุดท้ายของ rvm คุณต้องลบ gem rvm ด้วย:

gem uninstall rvm

หากคุณทำการปรับเปลี่ยนของPATHคุณคุณอาจต้องการดึงสิ่งเหล่านั้นด้วย ตรวจสอบของคุณ.bashrc, .profileและ.bash_profileไฟล์ในสิ่งอื่น ๆ

คุณอาจมี/etc/rvmrcไฟล์หรือไฟล์หนึ่งในโฮมไดเร็กตอรี่ของคุณ~/.rvmrcที่อาจต้องลบออกเช่นกัน


21
+1 สำหรับการสังเกตการตั้งค่าโปรไฟล์และถอนการติดตั้ง gem หากคุณไม่ได้ฟัง Wayne ในตอนแรกและติดตั้งเป็นอัญมณี :)
Jed Schneider

7
หากคุณชอบฉัน - มีการกำหนดค่า rvm ในผู้โดยสารตรวจสอบให้แน่ใจว่าได้ติดตั้งผู้โดยสารในภายหลังด้วย
berkes

4
มันอาจทำลายมันชั่วคราวจนกว่าคุณจะสร้างเปลือกใหม่เป็นว่าเป็นเพียงวิธีการสิ่งที่ชอบbashประพฤติเมื่อคุณงัด executables PATHออกจาก
tadman

14
ฉันยังมีการอ้างอิงถึง RVM ใน~/.zshrc
เนทคุก

8
ใครรู้สึกว่าถอนการติดตั้ง rvm ควรจะง่ายกว่านี้? น้ำเกรวี่ที่ดี
mycargus

56

หากคำตอบอื่น ๆ ไม่ลบ RVM อย่างทั่วถึงเพียงพอสำหรับคุณหน้าการแก้ไขปัญหาของ RVMมีหัวข้อนี้:

ฉันจะล้างข้อมูลร่องรอยทั้งหมดของ RVM ออกจากระบบของฉันได้อย่างสมบูรณ์รวมถึงการติดตั้งทั้งระบบได้อย่างไร

cleanout-rvmนี่คือสคริปต์ที่กำหนดเองซึ่งเราตั้งชื่อเป็น ในขณะที่คุณสามารถใช้rvm implodeเป็นผู้ใช้ปกติหรือrvmsudo rvm implodeสำหรับการติดตั้งทั้งระบบสคริปต์นี้มีประโยชน์เนื่องจากขั้นตอนนั้นสมบูรณ์นอก RVM และกำจัด RVM โดยไม่ต้องใช้ RVM โดยไม่มีร่องรอย

#!/bin/bash
/usr/bin/sudo rm -rf $HOME/.rvm $HOME/.rvmrc /etc/rvmrc /etc/profile.d/rvm.sh /usr/local/rvm /usr/local/bin/rvm
/usr/bin/sudo /usr/sbin/groupdel rvm
/bin/echo "RVM is removed. Please check all .bashrc|.bash_profile|.profile|.zshrc for RVM source lines and delete
or comment out if this was a Per-User installation."

37

เมื่อใช้implodeและคุณเห็น:

Psychologist intervened, cancelling implosion, crisis avoided :)

จากนั้นคุณอาจต้องการใช้ --force

rvm implode --force

จากนั้นลบ RVM ออกจากตำแหน่งต่อไปนี้:

rm -rf /usr/local/rvm
sudo rm /etc/profile.d/rvm.sh
sudo rm /etc/rvmrc
sudo rm ~/.rvmrc

ตรวจสอบไฟล์ต่อไปนี้และลบหรือคอมเม้นท์การอ้างอิงถึง RVM:

~/.bashrc 
~/.bash_profile 
~/.profile 
~/.zshrc
~/.zlogin

ความคิดเห็นออก / ลบบรรทัดต่อไปนี้ออกจาก / etc / profile:

 source /etc/profile.d/sm.sh
 source /etc/profile.d/rvm.sh

/ etc / profile เป็นไฟล์แบบอ่านอย่างเดียวดังนั้นให้ใช้:

sudo vim /etc/profile

และหลังจากทำการเปลี่ยนแปลงเขียนโดยใช้ปัง!

:w!

ในที่สุดอีกครั้งเข้าสู่ระบบ / รีสตาร์ทเครื่องของคุณ


อะไรทำให้ข้อความเริ่มต้นนั้นปรากฏขึ้น
Newbyte

1
หากมีการติดตั้ง RVM สำหรับผู้ใช้รายเดียวไม่ควรใช้งานsudoในตอนแรกดังนั้นจึงไม่มีไฟล์ใดอยู่ใน/etcหรือ/usrเส้นทาง เฉพาะเมื่อมันถูกติดตั้งโดยใช้ผู้ใช้หลายคนหรือsudoคุณจะเห็นว่า, และการดำรงอยู่ของพวกเขามีคำแนะนำที่แข็งแกร่งว่าเอกสารการติดตั้ง RVMถูกไม่ปฏิบัติตามเพื่อติดตั้งในสถานที่แรก
ชายดีบุก

17

นอกเหนือจากคำตอบของ @ tadman แล้วฉันยังได้นำไฟล์เสริมออก/usr/local/binรวมทั้งไฟล์ด้วย/etc/profile.d/rvmด้วย

เสื้อคลุมรวมถึง:

erb
gem
irb
rake
rdoc
ri
ruby
testrb

3
หมายเหตุ: มันไม่ได้/usr/local/bin /user/local/bin
bfontaine

7

ผู้คนจำนวนมากทำผิดพลาดโดยทั่วไปของการคิดว่า 'rvm implode' ทำเช่นนั้น คุณต้องลบไฟล์. rm ใด ๆ นอกจากนี้ยังใช้การลบแบบแมนนวลจากรูท ตรวจสอบให้แน่ใจว่ามันถูกลบและยังติดตั้งทับทิมทั้งหมดด้วย



5

วิ่ง:

rvm implode

ตอนนี้คุณต้องถอนการติดตั้งอัญมณี RVM โดยใช้:

gem uninstall rvm

ตรวจสอบว่ามีไฟล์ RVM ที่เหลืออยู่ในโฮมไดเรกทอรีของคุณหรือไม่ถ้าใช่ลบออก

ไปที่โฮมไดเร็กทอรีและแสดงรายการไฟล์ที่ซ่อนไว้ทั้งหมด:

ls -a

rm  .rvm
rm  .rvmrc

หมายเหตุ: RVM ไม่ใช่อัญมณีดังนั้นgem uninstall rvmจะล้มเหลว
Tin Man


2

หากคุณยังคงได้รับenv: ruby_executable_hooks: No such file or directoryเมื่อโทรแพ็คเกจ Ruby นั่นหมายความว่า RVM ได้ทิ้งของขวัญเล็กน้อยไว้ให้คุณ$PATHน้อยสำหรับคุณในของคุณ

รันสิ่งต่อไปนี้เพื่อค้นหาสคริปต์ที่ละเมิด:

grep '#!/usr/bin/env ruby_executable_hooks' /usr/local/bin/*

จากนั้นrmตรงทั้งหมด คุณจะต้องติดตั้งทั้งหมดของห้องสมุดผู้ที่มีความ RVM ฟรีgemแน่นอน


2

สำหรับมือใหม่อื่น ๆ ที่เชลล์พยายามแก้ไขตัวแปร PATH

หลังจากทำตามคำแนะนำในคำตอบที่ยอมรับแล้วให้ตรวจสอบและแก้ไขตัวแปร PATH หากจำเป็น:

env | grep PATH 

หากคุณเห็น "rvm" ทุกที่คุณต้องทราบว่าคุณตั้งค่าเส้นทางไว้ที่ไหนและแก้ไข ฉันตั้งค่าเป็น 3 ไฟล์ - ดังนั้นตรวจสอบไฟล์ทั้งหมดต่อไปนี้:

vim .bashrc  

ลบบรรทัดในไฟล์ rvm ที่อ้างถึงโดยใช้คำสั่ง dd : wq เพื่อบันทึกและออก
source .bashrcถึง "โหลดซ้ำ"

ทำซ้ำกระบวนการนี้ (เริ่มต้นด้วยคำสั่ง vim) สำหรับ. profile และ. bash_profile


นี่เป็นจุดที่ยอดเยี่ยม
ชายดีบุก

0

เอกสารประกอบการแก้ไขปัญหาของ RVM " ฉันจะทำความสะอาดร่องรอยทั้งหมดของ RVM จากระบบของฉันได้อย่างสมบูรณ์รวมถึงการติดตั้งแบบกว้างของระบบได้อย่างไร ":

นี่คือสคริปต์ที่กำหนดเองซึ่งเราตั้งชื่อว่า 'cleanout-rvm' ในขณะที่คุณสามารถใช้rvm implodeเป็นผู้ใช้ปกติหรือrvmsudo rvm implodeสำหรับการติดตั้งทั้งระบบสคริปต์นี้มีประโยชน์เนื่องจากขั้นตอนนั้นสมบูรณ์นอก RVM และกำจัด RVM โดยไม่ต้องใช้ RVM โดยไม่มีร่องรอย

#!/bin/bash
/usr/bin/sudo rm -rf $HOME/.rvm $HOME/.rvmrc /etc/rvmrc /etc/profile.d/rvm.sh /usr/local/rvm /usr/local/bin/rvm
/usr/bin/sudo /usr/sbin/groupdel rvm
/bin/echo "RVM is removed. Please check all .bashrc|.bash_profile|.profile|.zshrc for RVM source lines and delete or comment out if this was a Per-User installation."

0

ฉันใช้ Ubuntu 19.04 และทำตามคำแนะนำทั้งหมดข้างต้นแล้วก็มีบ้าง ในที่สุดสิ่งที่ทำงานให้ฉันคือการทำงาน

sudo apt autoremove rvm

และตอนนี้เมื่อฉันลองและติดตั้ง RVM ใหม่มันหายไปจริงๆ RVM นั้นรุกรานพูดน้อยที่สุด


มีความพยายามมากมายที่จะอธิบายวิธีการติดตั้ง RVM ผ่านอินเทอร์เน็ตและส่วนใหญ่ล้าสมัยและผิดมากเพราะแอปพลิเคชันเติบโตขึ้นอย่างมากในช่วงหลายปีที่ผ่านมานับตั้งแต่เปิดตัว เว็บไซต์ของ RVMเป็นแหล่งข้อมูลที่แน่นอนสำหรับข้อมูลเกี่ยวกับการติดตั้งการลบหรือการใช้งาน มีหลายหน้าเพราะมันเป็นเครื่องมือที่ยืดหยุ่น แต่ถ้าคุณทำตามการติดตั้งขั้นพื้นฐานคุณจะพบว่ามันไม่ได้เป็นการรุกรานและจัดการหรือลบได้ง่าย
ชายดีบุก

-1

ฉันลองคำสั่งข้างต้นเพื่อลบ RVM จาก macOS แต่อย่างใดมันก็ยังปรากฏขึ้นในเส้นทาง

นี่คือสิ่งที่ฉันทำซึ่งทำงาน:

$ open ~/.bash_profile

เพิ่มในโปรไฟล์ทุบตีของคุณต่อไปนี้:

unset GEM_PATH
unset MY_RUBY_HOME
unset GEM_HOME

จากนั้นใน terminal ที่ทำงาน:

$ source ~/.bash_profile

จะต้องมีการเริ่มต้นบางแห่ง; grepสำหรับตัวแปรเหล่านั้นในโฮมไดเร็กตอรี่ของคุณและอัตราเดิมพันที่ดีคุณจะพบว่า /env/bash_profileในการติดตั้งผู้ใช้หลายคนที่พวกเขาอาจจะอยู่ใน
Tin Man

ฉันใช้ grep ฉันลืมที่จะพูดถึง ขอโทษ.
Sumi

คุณสามารถแก้ไขคำตอบของคุณและแก้ไขเพื่อแสดงสิ่งที่คุณทำอย่างแม่นยำยิ่งขึ้น โปรดจำไว้ว่าดังนั้นไม่ได้เกี่ยวกับการแก้ปัญหาเฉพาะหน้าของ OP เท่าที่เป็นไปได้สำหรับคำตอบระยะยาวสำหรับผู้อื่นในอนาคตที่กำลังมองหาวิธีแก้ปัญหา ผู้คนลืมว่าไม่ใช่ไซต์ที่น่าดึงดูด แต่เกี่ยวกับการเปลี่ยนแปลงเชิงบวกในโค้ดของโปรแกรมเมอร์
ชายดีบุก
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.