"Paketleyici bulunamadı" hatası


107

Yapmaya çalıştığımda bundler updateşu hatayı alıyorum:

.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)

Ruby'de yeniyim, birisi bana buna neyin sebep olacağını söyleyebilir mi? Rake 0.8.7 yüklendi.


1
0 eksi oy Bu, yüklü paketleyicinizin olmadığını söylüyor. Bir 'gem listesi b' yürütürseniz, paketleyiciyi görüyor musunuz?
Jake Dempsey

Yanıtlar:


214

Bundler gem'iniz kurulu ise "bundle" güncellemesine girdiğinizden emin olun.

bundle update

Yükleyici kurulu değilse, yapın gem install bundler.


yeni bir uygulama yeri oluşturursanız - yeni raylar ve bu hatayı alırsanız?
AMIC MING

2
Bir yapın gem list bundlerve görünüp görünmediğine bakın. Yoksa, cevabımda listelendiği gibi yüklemeniz gerekir.
ardavis

10
Bu, rvm kullanarak Ruby'nin yeni bir sürümünü yükledikten sonra oldu. Sonra gem install bundlertekrar
NRR

61

Bu sorunu yaşadım, sonra yaptım:

gem install bundle

"paket" değil, "paketleyici" sorunumu çözdü.

sonra proje klasörünüzde şunları yapın:

bundle install

ve sonra projenizi aşağıdakileri kullanarak çalıştırabilirsiniz:

script/rails server

gem yükleme paketi - bu benim için de yaptı.
Don Cote

10
"Paket" cevherinin basitçe "paketleyici" yi bağımlılık olarak bildiren bir mücevher olduğuna dikkat edin, bu da sizin yazım hatasını düzeltir. github.com/will/bundle/blob/…
sealocal

13

Ben de aynı sorunu yaşadım. Bu benim için çalıştı:

  1. rvm / script / rvm komutunu çalıştırın ve ayrıca https://rvm.io/rvm/install/ sayfasında gösterildiği gibi .profile veya .bash_profile dosyanıza ekleyin

  2. sudo olmadan paketi kullan



8

Komut bundle update("paket" içinde "r" yoktur).

Paketleyicinin kurulu olup olmadığını kontrol etmek için şunu yapın: gem list bundlerveya hatta which bundleve komut, paketleyici sürümünü veya yolunu listeler. Hiçbir şey gösterilmezse, paketleyiciyi yazarak yükleyin gem install bundler.


7

Ben de aynı sorunu yaşadım .. bash profilime RVM öğelerini doğru ayarlamayan bir şey oldu.

Bash profilinizin aşağıdaki satıra sahip olduğundan emin olun:

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

Sonra "source ~ / .bash_profile" komutunu çalıştırdım ve bu, bash profilimdeki her şeyi yeniden yükledi.

Bu benim için düzeltmiş gibiydi.


Bunun için teşekkürler. "Bundle" ve "bundler" kelimelerinin nasıl yazılacağını bildiğim halde, zsh'yi yeniden yüklediğimi tamamen unutmuştum ve bu sırada yanlışlıkla bu satırı .zshrc'mden uzaklaştırdı. Bir süredir bunun üzerine saçlarımı çekiyordum :)
rmurphey

Bu cevap eski ama benim için çözüm oldu!
jonnyjava.net

Bunun profil dosyanızdaki SON satır olduğundan emin olun
rmcsharry


4

Doğru yakut ve mücevher setini kullanabilmeniz için önce "rvm use 1.9.2" gibi bir şey yapmanız gerekebilir. Hangi yakutu kullandığınızı "hangi yakut" yaparak kontrol edebilirsiniz.


2

Bunu Ruby 2.1.0'a yükselttikten sonra aldım. Benim PATHdahil etmek benim oturum açma komut dosyası kuruldu .gem/ruby/2.0.0/bin. Sürüm numarasını güncellemek sorunu çözdü.


2

Sistem "köksüz" çalışıyor olabilir. Nvram sabit yazılım değişkenini "rootless = 0" olarak ayarlamayı deneyin. Bir dizi komut çalıştırmayı deneyin:

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

Yeniden başlatma tamamlandıktan sonra şunu çalıştırın:

sudo gem install bundler

2

Eğer kullanıyorsanız rbenvçalışan rbenv rehashbu çözebilir sonra yüklediğiniz bundlerve sorun hala alıyorsanız.



1

Capistrano ile bu sorunu yaşayan herkes için: capistrano bundler,. Bunun nedeni, paketleyiciyi gemsetCapistrano'nun bakmadığı başka bir yere kurmuş olmanız olabilir .

  1. Mücevher setlerinizi listeleyin.

rvm gemset listesi

  1. Belirli bir mücevher seti kullanın.

rvm 'my_get_set' kullanın

  1. Paketleyiciyi bu mücevher setinin altına yükleyin.

gem yükleme paketleyicisi

Ardından, dağıtım göreviyle tekrar deneyin.


0

Benim durumumda, sistemde rvm'de kayıtlı olmayan eski bir Ruby kaldığına inanıyorum ve yol değişkenleri ve mücevher listesi uygun olsa bile, Capistrano ile konuşlandırmalar sırasında hala eski Ruby'yi kullanacaktı.

Ve sonra fark ettim ki, rvm ile kurduğum Ruby varsayılan olana ayarlanmadı. Koşu

rvm alias create default <rvm_registered_ruby>

Onu düzeltti.


0

Her ihtimale karşı, paketleyici 2.1.2 ile benzer bir hata yaşadım ve şu şekilde çözdüm:

sudo gem install bundler -v 1.17.3

Birden fazla paketleyici sürümünüz kuruluysa, paketin belirli sürümünü şu şekilde çalıştırabilirsiniz: bundle _1.17.3_ exec rspec

Daha sonraki paketleyici sürümleri oldukça hatalı gibi görünse de (2 işletim sisteminde 3 farklı projede sorunlar yaşanıyordu), eski bir paketleyiciye sahip olmak en iyisi olabilir, en azından Ubuntu ve MacOS'umda sahip olduğum şey bu.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.