Pertanyaan Memasang permata Ruby tidak berfungsi dengan Home Brew


Permata yang saya pasang melalui sudo gem install ... tidak dapat dieksekusi (saya mendapatkan command not found). Mereka tampaknya menginstal ke /usr/local/Cellar/ yang merupakan direktori instalasi Brew (juga, permata di /Library/Ruby/ tidak berfungsi juga). Apakah ada hal lain yang perlu saya lakukan untuk membuat permata dapat dieksekusi? Saya menggunakan ZSH di Mac OS X 10.6 dengan Ruby v1.8 untuk yang ada di Brew.

EDIT: Sepertinya bekerja sekarang. Saya baru keluar selama beberapa jam dan kembali untuk mencobanya lagi.


31
2018-06-26 07:38


asal


Jawaban:


Anda akan lebih baik menggunakan RVM bukannya mengganggu dengan Homebrew.

Edit

Bahkan lebih baik, gunakan rbenv.

Untuk para downvoters anonim

  • jika Anda downvoting karena saya merekomendasikan RVM dari pada rbenv, sadarilah bahwa, ketika saya menulis jawaban ini, rbenv mungkin hanya dapat ditemukan pada hard drive Sam Stephenson (atau di kepalanya), sementara RVM adalah standar.

  • jika Anda adalah seorang penggemar fanatik Homebrew, dan Anda marah karena saya merusak alat favorit Anda, harap diketahui bahwa saya sering menggunakannya dan berpikir itu adalah alat yang hebat. Hanya saja, saat itu, menggunakan alat khusus adalah pilihan terbaik. Mungkin, dua tahun kemudian, segalanya telah membaik. Aku tidak tahu. Yang saya tahu adalah bahwa jawaban saya terbatas pada Ruby.


33
2018-06-26 08:35



Homebrew baik. Namun tidak seperti itu brew dan npm, gem tidak membuat alias di /usr/local/bin secara otomatis.

Larutan

Secara pribadi saya pergi untuk pendekatan yang lebih sederhana:

export PATH=/usr/local/lib/ruby/gems/2.0.0/bin:$PATH
export PATH=/usr/local/opt/ruby20/bin:$PATH

Tambahkan ini ke Anda .bashrc (atau .bash_profile, .zshrc, dll.).

Itu dia! Sekarang semua tempat Ruby dan permata yang terpasang akan tersedia dari shell Anda!

Sebelum ruby20, yang berikut adalah semua yang Anda butuhkan.

export PATH=/usr/local/opt/ruby/bin:$PATH

Di ruby20, permata bisa dikaitkan lib/ruby/gems/2.0.0/bin dari pada opt/ruby/bin.

Bagaimana itu bekerja

Homebrew memiliki catatan jalur tempat paket diinstal. Dalam kasus Ruby itu sebenarnya memiliki symlink kanonik juga.

$ brew --prefix ruby
/usr/local/opt/ruby
$ l /usr/local/opt/ruby
/usr/local/opt/ruby@ -> ../Cellar/ruby/2.0.0-p0

Secara efektif teknik ini sama dengan yang berikut, tetapi tanpa hardcoding path ke Homebrew atau versi Ruby:

export PATH=/usr/local/Cellar/ruby/2.0.0-p0/bin:$PATH

Alat-alat

Ada beberapa alat yang mengklaim untuk menerapkan jembatan antara Homebrew dan permata:

Saya belum pernah menggunakan ini tetapi mereka mungkin bekerja untuk Anda.


106
2018-01-03 11:57



brew unlink ruby; brew link ruby mungkin menambahkan symlink ke /usr/local/bin/:

$ which sass
$ brew unlink ruby; brew link ruby
Unlinking /usr/local/Cellar/ruby/2.0.0-p0... 20 links removed
Linking /usr/local/Cellar/ruby/2.0.0-p0... 31 symlinks created
$ which sass
/usr/local/bin/sass

brew --prefix ruby masih cukup lambat, tetapi Anda juga bisa menambahkan /usr/local/opt/ruby/bin ke jalan.

$ time brew --prefix ruby
/usr/local/opt/ruby
0.216
$ time brew --prefix ruby
/usr/local/opt/ruby
0.076
$ stat -f%Y /usr/local/opt/ruby
../Cellar/ruby/2.0.0-p0

19
2018-05-27 05:34



Anda bisa baik-baik saja dengan ruby ​​yang dipasang oleh homebrew juga .. Anda hanya tidak memiliki fungsi permata kustom dengan homebrew.

pertama lakukan:

sudo nano /etc/paths

ini akan memunculkan editor nano,

lalu tambahkan yang berikut ke jalur:

/usr/local/Cellar/ruby/1.9.3-p194/bin

versi rubi Anda mungkin akan bervariasi.

Itu dia. Sekarang seharusnya mendeteksi permata Anda.

Oh, btw, Anda perlu Ctrl + X> y> ENTER untuk menyimpan file di nano.


5
2017-07-18 18:02



Saya suka minuman rumahan. Mungkin ada cara yang lebih baik untuk melakukan ini, tetapi jika Anda menjalankan:

gem environment

Itu akan mencetak daftar yang bagus dari semua jalur yang relevan. Carilah yang berlabel EXECUTABLE DIRECTORY. Itu yang ingin Anda tambahkan ke jalan Anda. Dalam kasus saya itu /usr/local/Cellar/ruby/1.9.3-p362/bin/rubytapi saya membayangkan itu akan berubah dengan versi Ruby yang lebih baru.

saya menggunakan /bin/bash sebagai cangkang saya, tetapi proses menambahkannya ke jalan Anda harus cukup banyak nama.

Saya menggunakan TextWrangler (melalui alat baris perintah) untuk mengedit .profile mengajukan. Untuk melakukan itu, hanya saja:

edit ~/.profile

Setelah selesai, tutup terminal Anda dan buka terminal baru, atau jalankan:

source ~/.profile

4
2018-01-03 05:37



Alih-alih menggunakan => $(cd $(which gem)/..; pwd)

Anda bisa menggunakan ini sebagai gantinya => $(brew --prefix ruby)/bin


4
2018-02-24 22:28



Saya pikir ini berevolusi sedikit.

Tambahkan saja

export PATH=/usr/local/opt/ruby/bin:$PATH

Untuk .bashrc Anda (atau .bash_profile, .zshrc / .bashrc, .. - apa pun yang Anda gunakan).

Jika Anda memiliki masalah dengan ruby ​​itu sendiri

brew unlink ruby
brew link ruby

2
2018-05-30 09:42