Kesalahan “Tidak dapat menemukan bundler”


107

Ketika saya mencoba melakukan, bundler updatesaya mendapatkan kesalahan ini:

.rvm/rubies/ruby-1.9.2-p180/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:247:in
`to_specs': Could not find bundler (>= 0) amongst
[rake-0.8.7, rake-0.8.7, rubygems-update-1.8.4] (Gem::LoadError)

Saya baru mengenal Ruby, dapatkah seseorang memberi tahu saya apa yang menyebabkan ini? Rake 0.8.7 dipasang.


1
0 down vote Anda tidak menginstal bundler. Jika Anda menjalankan 'gem list b' apakah Anda melihat bundler?
Jake Dempsey

Jawaban:


214

Pastikan Anda memasukkan pembaruan "bundel", jika Anda telah memasang permata bundler.

bundle update

Jika Anda belum menginstal bundler, lakukan gem install bundler.


jika Anda membuat applokasi baru - rel baru dan jika Anda mendapatkan kesalahan ini?
AMIC MING

2
Lakukan gem list bundlerdan lihat apakah itu muncul. Jika tidak, Anda perlu menginstalnya seperti yang tercantum dalam jawaban saya.
ardavis

10
Ini terjadi pada saya setelah menginstal versi baru ruby ​​menggunakan rvm. Kemudian saya harus lari gem install bundlerlagi
NRR

61

Saya punya masalah ini, lalu saya lakukan:

gem install bundle

perhatikan "bundel" bukan "bundler" memecahkan masalah saya.

lalu di folder proyek Anda lakukan:

bundle install

dan kemudian Anda dapat menjalankan proyek Anda menggunakan:

script/rails server

bundel pemasangan permata - ini juga berlaku untuk saya.
Don Cote

10
Perhatikan bahwa permata "bundel" hanyalah permata yang menyatakan "bundler" sebagai ketergantungan, yang pada dasarnya memperbaiki kesalahan ketik Anda. github.com/will/bundle/blob/…
sealocal

13

Saya memiliki masalah yang sama. Ini berhasil untuk saya:

  1. jalankan rvm / script / rvm dan juga tambahkan ke .profile atau .bash_profile Anda seperti yang ditunjukkan di https://rvm.io/rvm/install/

  2. gunakan bundel tanpa sudo



8

Perintahnya adalah bundle update(tidak ada "r" di "bundel").

Untuk memeriksa apakah bundler diinstal lakukan: gem list bundleratau bahkan which bundledan perintah akan mencantumkan versi bundler atau jalur ke sana. Jika tidak ada yang ditampilkan, instal bundler dengan mengetik gem install bundler.


7

Saya memiliki masalah yang sama .. sesuatu terjadi pada profil bash saya yang tidak mengatur barang RVM dengan benar.

Pastikan profil bash Anda memiliki baris berikut:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && . "$HOME/.rvm/scripts/rvm"  # This loads RVM into a shell session.

Kemudian saya menjalankan "source ~ / .bash_profile" dan itu memuat ulang semua yang ada di profil bash saya.

Itu sepertinya memperbaikinya untuk saya.


Terima kasih untuk ini. Meskipun saya tahu cara mengeja "bundle" vs "bundler", saya benar-benar lupa bahwa saya menginstal ulang zsh dan dalam prosesnya secara tidak sengaja menghapus baris ini dari .zshrc saya. Telah menarik rambut saya untuk sementara waktu :)
rmurphey

Jawaban ini sudah tua tapi bagi saya sudah menjadi solusinya!
jonnyjava.net

Pastikan ini adalah baris TERAKHIR dalam file profil Anda
rmcsharry


4

Anda mungkin harus melakukan sesuatu seperti "rvm use 1.9.2" terlebih dahulu agar Anda dapat menggunakan ruby ​​dan gemset yang benar. Anda dapat memeriksa ruby ​​mana yang Anda gunakan dengan melakukan "ruby yang mana"


2

Saya mendapatkan ini setelah memutakhirkan ke ruby ​​2.1.0. Saya PATHdiatur dalam skrip login saya untuk disertakan .gem/ruby/2.0.0/bin. Memperbarui nomor versi memperbaikinya.


2

Sistem mungkin menjalankan "tanpa root". Cobalah untuk menyetel variabel firmware nvram boot-args ke "rootless = 0". Cobalah untuk menjalankan serangkaian perintah:

sudo nvram boot-args="rootless=0"; 
sudo reboot

Setelah reboot selesai, jalankan:

sudo gem install bundler

2

Jika Anda menggunakan rbenvmenjalankan rbenv rehashdapat menyelesaikan ini setelah Anda menginstal bundlerdan masih mendapatkan masalah.



1

Bagi siapa pun yang mengalami masalah ini dengan Capistrano: capistrano tidak dapat menemukan file bundler. Alasannya mungkin karena Anda menginstal bundler di bawah beberapa lainnya di gemsetmana Capistrano bahkan tidak mencari.

  1. Buat daftar permata Anda.

rvm daftar permata

  1. Gunakan gemet tertentu.

rvm gunakan 'my_get_set'

  1. Instal bundler di bawah gemset itu.

gem menginstal bundler

Kemudian, coba lagi dengan tugas penerapan.


0

Dalam kasus saya, saya yakin saya memiliki Ruby lama yang tersisa di sistem, tidak terdaftar di rvm, dan bahkan jika variabel jalur dan daftar permata baik-baik saja, Ruby masih akan menggunakan Ruby lama selama penerapan dengan Capistrano

Dan kemudian saya menyadari, Ruby yang saya pasang dengan rvm tidak disetel ke default. Lari

rvm alias create default <rvm_registered_ruby>

Diperbaiki.


0

Untuk berjaga-jaga, saya memiliki kesalahan serupa dengan bundler 2.1.2 dan menyelesaikannya dengan:

sudo gem install bundler -v 1.17.3

Jika Anda menginstal beberapa versi bundler, maka Anda dapat menjalankan versi bundel tertentu dengan cara ini: bundle _1.17.3_ exec rspec

Meskipun sepertinya versi bundler yang lebih baru cukup bermasalah (memiliki masalah pada 3 proyek berbeda pada 2 sistem operasi), memiliki satu bundler lama dapat bekerja paling baik, setidaknya inilah yang saya miliki di Ubuntu & MacOS saya

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.