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.

Steven
sumber
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.

Ardavis
sumber
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
Dorian
sumber
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

bjelli
sumber
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.

Zabba
sumber
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.

Brian Vitrue
sumber
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
6

Menurut jawaban untuk pertanyaan serupa ini, seharusnya sudah cukup:

rvmsudo gem install bundler.

Bersulang

Andrew Khouzam
sumber
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"

mgauthier.dll
sumber
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.

Thomas Leonard
sumber
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
Bogdan Ustyak
sumber
2

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

eebbesen.dll
sumber
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.

Saraf
sumber
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.

Cyril Duchon-Doris
sumber
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

Daniel Garmoshka
sumber