ฉันจะเปลี่ยนเวอร์ชัน Ruby โดยใช้ RVM ได้อย่างไร


111

ฉันไม่สามารถเปลี่ยนเวอร์ชัน Ruby ปัจจุบันได้:

  ~  rvm list

rvm rubies

   ruby-1.9.2-p290 [ x86_64 ]
   ruby-1.9.3-p0 [ x86_64 ]

  ~  rvm use ruby-1.9.3-p0

RVM is not a function, selecting rubies with 'rvm use ...' will not work.

แน่ใจหรือว่าติดตั้ง rvm อย่างถูกต้อง คุณใช้ระบบปฏิบัติการอะไร
lesce

2
กรุณาแนบผลลัพธ์ของrvm infoคำถามของคุณ
คนดีบุก

ฉันมีปัญหาคล้ายกันโดยการติดตั้ง rvm ด้วย apt-get บน Ubuntu 11.10 ฉันต้องลบออกและติดตั้งใหม่ด้วย$ bash -s stable < <(curl -s https://raw.github.com/wayneeseguin/rvm/master/binscripts/rvm-installer)
lesce

4
คุณมีฟังก์ชันโหลด RVM ในสคริปต์เริ่มต้นของเชลล์หรือไม่ [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"คือรหัสที่จะใช้ หากคุณติดตั้ง RVM ไว้ในเส้นทางของคุณ แต่คุณไม่มีสิ่งนั้นในสคริปต์เริ่มต้นคุณจะได้รับRVM is not a functionข้อผิดพลาด
Michelle Tilley

วิธีนี้ใช้ได้ผลสำหรับฉัน - rvm.io/integration/gnome-terminal
gotqn

คำตอบ:



57

นี่ก็เกิดขึ้นกับฉันเหมือนกัน ฉันมี:

export PATH=~/.rvm/bin:$PATH

เพิ่มใน. bashrc ของฉัน

สิ่งที่ฉันต้องทำคือเพิ่มอีก

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"

เป็นไฟล์เดียวกันและใช้งานได้! แน่นอนว่าคุณต้องรีสตาร์ทเครื่องหลังจากนั้น


1
ฉันมีบรรทัดเดียวกันนี้ ([[-s "$ HOME / ... ) ใน ~ / .bash_profile ของฉันและดูเหมือนจะไม่" รับ "เมื่อฉันเปิดเทอร์มินัลใหม่ ... แต่เมื่อฉันเพิ่มบรรทัด ด้านล่างบรรทัด PATH ใน ~ / .bashrc มันใช้งานได้ - หมายความว่าฉันสามารถพิมพ์ rvm ใช้ 1.9.3 และมันจะรับรู้ rvm เป็นคำสั่งทันทีโดยที่ฉันไม่จำเป็นต้องพิมพ์ source ~ / .bash_profile - i ' ฉันไม่ใช่คน linux ดังนั้นสิ่งนี้ทำให้ฉันสับสน แต่ฉันดีใจที่มันใช้งานได้อาจมีใครบางคนสามารถชี้แจงความสับสนของฉันได้
TimDog

เยี่ยมมากฉันใส่บรรทัดนี้ไว้ใน ~ / .bashrc มันได้ผล แต่ฉันก็ไม่รู้เหมือนกันว่าทำไม
Jack Ma

ใช่มันใช้งานได้ แต่ทุกครั้งที่รีสตาร์ทเครื่องฉันต้องให้คำสั่งดังกล่าวข้างต้น ถ้าฉันไม่ระบุคำสั่งมันจะบอกว่า rvm ไม่ใช่ฟังก์ชัน
Apurva Mayank

11

เชลล์ของคุณไม่ทราบเกี่ยวกับฟังก์ชัน RVM หลังจากติดตั้งแล้วระบบจะบอกวิธีดูแลสิ่งนี้ให้คุณทราบ หรือไปที่หน้าการติดตั้งบนไซต์ RVM และดูส่วนที่ชื่อว่า "2. โหลด RVM ลงในเซสชันเชลล์ของคุณเป็นฟังก์ชัน"

เรียกใช้ครั้งนี้เพื่อเพิ่มบรรทัดที่โหลด rvm ลงใน ~ / .bash_profile ของคุณ:

$ echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile

หรือเพิ่มเองด้วยตนเอง (โปรดทราบว่าในบางระบบคุณจะต้องวางไว้ในตำแหน่งอื่นเช่นในระบบของฉัน Mac OSX Lion ฉันใส่ไว้ใน ~ / .profile)


ฉันใช้ OS X Snow Leopard การใส่บรรทัดนั้นใน. profile ทำให้ฉันได้เคล็ดลับ
Heldraug

9

(Kubuntu 11.10) ~/.bash_profileตอนนี้เรียกว่า~/.profile

echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.profile
source ~/.profile
rvm info # And now the fields display

6

ในการเปลี่ยนเวอร์ชันเริ่มต้นของทับทิม:

ใน Ubuntu 11.10
โปรดเปลี่ยนการตั้งค่าเทอร์มินัล GNOME ของคุณ:

ไปที่Terminalจากนั้นทำตามคำแนะนำต่อไปนี้:

1.  Edit > Profile Preferences
2.  Open Title and Command Tab               
3.  Check Run Command as a login Shell 
4.  Restart terminal

รันคำสั่งนี้บนเทอร์มินัล:

rvm --default use ruby_Version

5

ในการเพิ่มฟังก์ชัน RVM ทั้งหมดใน. bash_profile ของคุณคุณควรใช้คำสั่งต่อไปนี้:

echo '[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # Load RVM function' >> ~/.bash_profile

หลังจากนั้นคุณควรโหลดเชลล์ปัจจุบันใหม่หรือเปิดเซสชันเทอร์มินัลใหม่และพิมพ์คำสั่งต่อไปนี้เพื่อโหลด. bash_profile ใหม่:

source .bash_profile

4

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

# The following code loads RVM as user or system install:
[[ -s "$rvm_path/scripts/rvm" ]] && . "$rvm_path/scripts/rvm"

rvm_path=/home/myuser/.rvm . /home/myuser/.rvm/scripts/rvm
Jose Alban


3

ในการติดตั้ง Ubuntu 12.04 ใหม่ทั้งหมดฉันพบปัญหาเดียวกัน โปรแกรมติดตั้ง RVM สร้างหรือต่อท้ายไฟล์ชื่อ ~ / .bash_login บิตของโค้ดที่จำเป็นเพื่อหลีกเลี่ยงปัญหาเดิม:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" # Load RVM into a shell session *as a function*

อย่างไรก็ตามสิ่งนี้ดูเหมือนจะไม่ถูกเรียกใช้ การเพิ่มไปที่ ~ / .bashrc ช่วยแก้ปัญหาให้ฉันได้


1

การติดตั้ง RVM ดูที่นี่http://octopress.org/docs/setup/rvm/


อย่าใช้แหล่งที่มาที่ไม่เป็นอิสระในการติดตั้ง RVM หน้าการติดตั้ง RVMเฉพาะกล่าวว่า "หมายเหตุว่าบทเรียนภายนอกใด ๆ จะไม่ได้รับการสนับสนุนไม่ว่าจะทำงานได้หรือไม่สอนที่ดี แต่เรามีการใช้จ่ายจำนวนมหาศาลของชั่วโมงคนแก้จุดบกพร่องกระบวนการติดตั้งโดยใช้ขั้นตอนการติดตั้ง (ES) จาก.. ไซต์นี้เท่านั้นเนื่องจากเป็นประเภทและวิธีการติดตั้งที่รองรับเท่านั้น "
The Tin Man

1

ในกรณีของฉันบน Ubuntu รายการใน ~ / .bashrc มี:

 [[ -s "$HOME/.rvm/scripts/rvm" ]] && ."$HOME/.rvm/scripts/rvm" # BAD

แทน:

 [[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm" # WORKING

สังเกตช่องว่างระหว่าง. และ "$ HOME.

นอกจากนี้หากเป็นปัญหาคุณควรสังเกตเห็นข้อผิดพลาดที่ด้านบนเมื่อคุณเปิดเครื่องปลายทาง


0

ฉันมีการติดตั้ง RVM ทั่วโลกซึ่งเรียกใช้ /etc/profile.d/rvm.sh อย่างไรก็ตามสคริปต์นั้นจำเป็นต้องตั้งค่า BASH_VERSION หรือ ZSH_VERSION ฉันเรียกใช้จาก crontab ซึ่งใช้ "sh"

ฉันสร้างสคริปต์ wrapper ที่ใช้ / bin / bash เพื่อซอร์ส /etc/profile.d/rvm.sh


0

คุณต้องเปลี่ยนการตั้งค่าโปรแกรมจำลองเทอร์มินัลของคุณเพื่ออนุญาตเชลล์ล็อกอิน บางครั้งจำเป็นต้องใช้/bin/bash --loginเป็นคำสั่ง

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