Saya adalah pengguna NOVICE dari Linux dan menggunakan Linux mint 17.1
Saya telah menginstal ulang Linux Mint 20 kali dalam 3 hari terakhir untuk masalah itu tetapi tidak dapat memperbaikinya
Saya mencoba untuk menginstal ruby on rails menggunakan rvm yang terjadi adalah jika memulai instalasi Linux baru dan mencoba menginstal permata dan ruby dan barang-barang dalam satu sesi terminal itu berhasil diinstal segera setelah saya menutup sesi terminal saya tidak bisa mendapatkan permata itu .
Dengan menginstal ulang lebih dari 20 kali dalam 3 hari terakhir saya sudah mencari di web juga. Saya telah diberitahu untuk memasukkan variabel lingkungan di /etc/environment
jalur yang saya gema di sesi itu dan menempelkannya di /etc/environment
file.
bahkan sekarang saya tidak mendapatkan permata yang terpasang
ketika saya mengetik rvm -v
saya mendapatkan kesalahan berikut
Warning: PATH set to RVM ruby but GEM_HOME and/or GEM_PATH not set, see:
https://github.com/wayneeseguin/rvm/issues/3212
Warning! PATH is not properly set up, $GEM_HOME is not set,
usually this is caused by shell initialization files - check them for 'PATH=...' entries,
it might also help to re-add RVM to your dotfiles: 'rvm get stable --auto-dotfiles',
to fix temporarily in this shell session run: 'rvm use ruby-2.2.2'.
rvm 1.26.11 (latest) by Wayne E. Seguin <[email protected]>, Michal Papis <[email protected]> [https://rvm.io/]
Saya orang yang sangat pemula dalam hal bekerja dengan terminal, saya dapat menjalankan beberapa perintah dasar untuk bekerja dengan ruby.
Saya ingin tahu
- Cara mengatur PATH
- Cara mengatur GEM_HOME
- Cara mengatur GEM_PATH
Di bawah ini adalah jalur lengkap saya
echo $PATH
/home/sharif/.rvm/gems/ruby-2.2.2/bin:/home/sharif/.rvm/gems/ruby-2.2.2@global/bin:/home/sharif/.rvm/rubies/ruby-2.2.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/sharif/.rvm/bin
Jawaban:
Kedengarannya seperti Anda menginginkan perintah
export
untuk mengatur variabel lingkungan:Itu hanya akan berlaku untuk sesi saat ini. Untuk membuatnya lebih permanen, tambahkan baris-baris itu ke blog Anda
~/.bashrc
.sumber
Biasanya ini berarti bahwa rvm tidak diatur dengan benar. Kesalahan yang biasa terjadi adalah Anda tidak memodifikasi dengan
.bashrc
benar (atau serupa) atau Anda tidak memuat ulang terminal Anda.Anda tidak boleh mengatur GEM_HOME atau GEM_PATH secara manual saat menggunakan rvm.
Anda dapat mencoba
source ~/.rvm/scripts/rvm
dan melihat apakah itu berhasil.Bisa juga Anda belum membangun permata. Jangan gunakan rvm dan sudo. Rvm berfungsi paling baik saat diinstal di akun Anda dan tidak di seluruh sistem.
sumber
source ~/.rvm/scripts/rvm
ke Anda~/.bashrc
untuk memastikan itu dimuat setiap kali Anda memulai shell baru.Inilah yang saya pelajari dan bagaimana saya menyelesaikan masalah yang tampaknya umum ini dari variabel lingkungan GEM_HOME dan GEM_PATH tidak membuat kesalahan.
Latar Belakang
Pemasangan RVM seharusnya membuat GEM_HOME dan GEM_PATH env vars untuk setiap RVM yang telah diatur dan melakukan itu. Tetapi ada bug yang tampaknya sedemikian rupa sehingga dalam beberapa kasus env vars hanya diset sementara, dan untuk mengaturnya lagi Anda harus mengaturnya dengan baris perintah. Saya menemukan solusi untuk membuat env vars bertahan untuk RVM.
Penanganan masalah
Temukan versi Ruby Anda yang aktif (dalam RVM): Di server produksi Anda, buka direktori dan jenis aplikasi Anda
$rvm list
. Ini akan menghasilkan daftar versi Ruby yang diinstal dan mana yang aktif untuk RVM. Contoh respon:rvm rubies ruby-1.9.3-p547 [ x86_64 ] => ruby-1.9.3-p551 [ x86_64 ]
Jadi, saya tahu bahwa RVM saat ini menggunakan versi
ruby-1.9.3-p551
. Anda memerlukan info ini untuk langkah selanjutnya.Dapatkan jalur untuk GEM_PATH dan GEM_HOME : Anda melakukan ini dengan mengeksekusi dari baris perintah
$rvm use ruby-1.9.3-p551
. Kemudian masih dari baris comman menunjukkan semua pengaturan lingkungan menggunakan perintahenv
. Telusuri GEM_PATH dan GEM_HOME dan salin semuanya secara keseluruhan ke ruang kerja.GEM_PATH=/usr/local/rvm/gems/ruby-1.9.3-p551:/usr/local/rvm/gems/ruby-1.9.3-p551@global GEM_HOME=/usr/local/rvm/gems/ruby-1.9.3-p551
Tetapkan variabel lingkungan GEM_HOME dan GEM_PATH: Sekarang atur variabel lingkungan ini di salah satu dari banyak file profil. Saya ingin mempertahankan struktur isolasi versi RVM, jadi saya memperbarui /profile.d/appspecific.sh dengan dua baris ini:
export GEM_PATH=/usr/local/rvm/gems/ruby-1.9.3-p551:/usr/local/rvm/gems/ruby-1.9.3-p551@global export GEM_HOME=/usr/local/rvm/gems/ruby-1.9.3-p551
sumber
Saya menemukan bahwa. Profil dimuat terakhir dan menempatkan ~ / .local / bin dan ~ / bin di depan jalan. Saya pindah /etc/profile.d/rvm.sh ke ~ / .rvm dan di akhir profil. Saya menambahkan "source ~ / .rvm / rvm.sh" dan kesalahannya hilang. Saya menggunakan Linux Mint 18.3. Saya memiliki pyenv, rvm dan sdkman diinstal dan mereka semua ingin menjadi yang terakhir. Mereka semua bekerja dengan baik sekarang. :)
Jika itu adalah sistem yang dibagikan, cukup pindahkan rvm.sh ke suatu tempat keluar dari jalur dan pengguna lain dapat mengambilnya, seperti dari /opt/rvm/rvm.sh misalnya.
sumber
Seperti @coteyr yang disebutkan, Anda seharusnya tidak mengatur GEM_HOME dan GEM_PATH secara manual saat menggunakan
rvm
. Jika Anda memeriksa variabel lingkungan PATH Anda, dengan menjalankan$ echo $PATH
dan $ HOME / .rvm / bin adalah bagian darinya, maka Anda perlu memastikan terminal Anda menjalankan perintah sebagai shell login. Misalnya jika Anda menggunakan mesin Ubuntu, Anda membuka terminal Anda kemudian pergi ke: menu> Edit> Preferensi Profil> Perintah kemudian pilih "Jalankan perintah sebagai shell login"Ini tampaknya menjadi masalah lama
rvm
yang saya anggap tidak sepele untuk diperbaiki karena sudah ada untuk sementara waktu.sumber
Untuk mengisi
$GEM_PATH
dengan sistem saya (Manjaro / Arch)gems
saya menambahkan ke.bashrc
:sumber