Saya tidak dapat mengeksekusi rails console
karena kesalahan ini:
localhost:TwitterForZombies wiz$ rails c
/Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/irb/completion.rb:9:in `require': dlopen(/Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin12.2.1/readline.bundle, 9): Library not loaded: /usr/local/opt/readline/lib/libreadline.6.2.dylib (LoadError)
Referenced from: /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin12.2.1/readline.bundle
Reason: image not found - /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/x86_64-darwin12.2.1/readline.bundle
from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/1.9.1/irb/completion.rb:9:in `<top (required)>'
from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.9/lib/rails/commands/console.rb:3:in `require'
from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.9/lib/rails/commands/console.rb:3:in `<top (required)>'
from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.9/lib/rails/commands.rb:38:in `require'
from /Users/wiz/.rbenv/versions/1.9.3-p194/lib/ruby/gems/1.9.1/gems/railties-3.2.9/lib/rails/commands.rb:38:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
Saya telah menginstal readline melalui homebrew. Saya ingin tetap menggunakan rbenv daripada rvm.
Terima kasih telah membaca pertanyaan saya.
Jawaban:
Saya mengalami masalah yang sama baru-baru ini dengan homebrew dan libreadline.7.x.dylib / libreadline.6.x.dylib
Saya menyelesaikannya dengan menjalankan:
ln -s /usr/local/opt/readline/lib/libreadline.7.0.dylib /usr/local/opt/readline/lib/libreadline.6.dylib
sumber: https://github.com/rails/rails/issues/26658
sumber
Homebrew memang bagus, tetapi sesekali tidak menyenangkan dengan beberapa bagian bergerak lainnya.
A
brew update && brew upgrade
dibawa masuklibreadline.7.x.dylib
sambil secara otomatis menghapuslibreadline.6.x.dylib
, yang masih diandalkan oleh ruby.Mungkin ada cara yang lebih cerdas untuk memperbaiki masalah, tetapi kekerasan berhasil untuk saya:
$ rbenv uninstall 2.3.1 $ rbenv install 2.3.1 $ cd /path/to/my/app $ bundle
Di atas mengasumsikan kehadiran rbenv ini
ruby-build
dan, tentu saja,bundler
; ganti2.3.1
dengan ruby versi apa pun yang Anda gunakan.Harap dicatat bahwa masalah serupa dapat terjadi dengan perpustakaan yang dikelola homebrew berbeda ( lihat jawaban saya sendiri untuk ini, misalnya )
sumber
gem install bundler
setelah pemasangan rbenv.brew update && brew upgrade
lagi?brew upgrade
mengganti pustaka lama APA PUN dengan versi yang lebih baru, ada BEBERAPA kemungkinan program lain di sistem Anda akan mengeluh.Saya menggunakan OSX, ruby2.3.0, rails5. Menambah
gem 'rb-readline'
sayaGemfile
memperbaiki masalah ini.sumber
Saya mendapat kesalahan yang sama dengan Ruby 2.1.0, dan rails 4.0. Setelah mencari dan mencoba banyak, akhirnya berhasil :) Inilah yang saya lakukan:
rvm cleanup all rvm autolibs enable rvm install 2.1.0
Cara lain:
Perintah autolibs akan memaksa RVM menginstal semua dependensi, jadi Anda tidak perlu mengkhawatirkannya.
Semoga bermanfaat.
sumber
cleanup rvm
. hanyareinstall
versi ruby.Seperti yang diisyaratkan Sachin, menginstal readline dan kemudian menginstal ulang ruby adalah pendekatan yang ideal - tetapi detailnya sedikit berbeda untuk rbenv. Mengingat jalur file Anda, saya rasa Anda menggunakan Mac, jadi berikut ini akan membantu:
brew install readline ruby-build env CONFIGURE_OPTS=--with-readline-dir=`brew --prefix readline` rbenv install 1.9.3-p286
Ini diambil dari Wiki ruby-build dan pencarian cepat di Google.
sumber
bundle install
menunjukkan kepada saya banyak peringatan seperti "Abaikan bcrypt-3.1.11 karena ekstensinya tidak dibangun". Seperti yang disarankan dalam jawaban atas pertanyaan ini ,gem pristine --all
perbaiki semua kesalahan itu sekaligus.Menggunakan mac,
El Captain
versi, dimungkinkan untuk memperbaikinya hanya dengan melakukan(suka
rvm reinstall ruby-2.3.1
)Semoga ini bisa membantu, semoga berhasil!
sumber
rvm reinstall $(rvm current)
diambil dari pengguna github @enderahmetyurt (ini adalah satu-satunya solusi yang berhasil untuk saya).
Solusi: Tambahkan
gem 'rb-readline'
ke Gemfile Anda di grup pengembangan dan pasang bundel .Ini adalah solusi termudah untuk kesalahan "readline" yang konyol.
sumber
sumber