Nếu bạn đặt các dòng nguồn RVM trong .bashrc của bạn (theo thứ tự để đảm bảo rằng không tương tác vỏ có quyền truy cập vào RVM), bạn cần phải có nguồn .bashrc từ tệp .bash_profile của bạn với các dòng sau trong dòng .bash_profile
if [ -f "$HOME/.bashrc" ]; then
source $HOME/.bashrc
fi
của bạn
Điều này giả định rằng bạn có
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm"
trong $ HOME/.bashrc của bạn. Đây là một cách tốt để đảm bảo rằng cả vỏ tương tác/đăng nhập và không tương tác đều có thể tìm và tải đúng RVM. Cài đặt nhiều người dùng thực hiện điều tương tự thông qua tệp /etc/profile.d/rvm.sh.
Sau đó, bạn nên không có vấn đề xác định một Ruby mặc định để sử dụng qua
rvm 1.9.2 --default
hoặc
rvm use [email protected] --default
của nó tốt hơn để xác định một gemset mặc định để sử dụng như vậy là không gây ô nhiễm của bạn ' đá quý mặc định 'hoặc' toàn cầu '.
Nếu bạn đang sử dụng vỏ không tương tác, lưu ý rằng họ genereally hoạt động trong chế độ SH-tương thích mà sau đó yêu cầu bạn thiết
BASH_ENV="$HOME/.bashrc"
trong $ HOME của bạn/.profile để bạn nạp RVM, hoặc đặt trực tiếp trong kịch bản của bạn. Lý do cho điều này là khi bash đang hoạt động trong chế độ SH nó không tải trực tiếp .bash_profile hoặc .bashrc vì SH không sử dụng các tệp đó, và bash đang cố gắng bắt chước quá trình tải và thực thi của trình bao SH.
Phiên bản rvm nào? Tôi đang ở trên Ubuntu 10, nhưng tôi hoài nghi rằng có thể tạo ra sự khác biệt. Bất cứ điều gì trong ~/.rvmrc? –
Điều gì sẽ xảy ra nếu bạn chạy 'rvm list default' trong cửa sổ terminal mới? – bricker
Thay vào đó hãy thử chạy 'rvm --default 1.9.2'. Nó ổn với tôi. – Frost