web-dev-qa-db-ja.com

find_spec_for_exe ':gem bundlerが見つかりません(> = 0.a)(Gem :: GemNotFoundException)

Sudo bundle installを使用しましたが、それが問題の原因である可能性がありますか?

今私が持っています:

  • gem -v 2.6.14
  • Ruby -v Ruby 2.3.5p376(2017-09-14リビジョン59905)[x86_64-darwin15]
  • jekyll -v jekyll 3.6.2
  • bundle -vBundlerバージョン1.16.0.pre.3

bundle exec jekyll serveまたは単にjekyll serveを実行しようとすると、次のようなエラーが表示されます。

/Users/myusername/.rvm/gems/Ruby-2.3から/Users/myusername/.rvm/rubies/Ruby-2.3.5/lib/Ruby/site_Ruby/2.3.0/rubygems.rb:271:in find_spec_for_exe': can't find gem bundler (>= 0.a) (Gem::GemNotFoundException) from /Users/myusername/.rvm/rubies/Ruby-2.3.5/lib/Ruby/site_Ruby/2.3.0/rubygems.rb:299:inactivate_bin_path 'に移動します。 5/bin/bundle:23:/Users/myusername/.rvm/gems/Ruby-2.3.5/bin/Ruby_executable_hooks:15:in `から<main>' from /Users/myusername/.rvm/gems/Ruby-2.3.5/bin/Ruby_executable_hooks:15:ineval 'に

また、ブログcd my_pathがあるフォルダにアクセスすると、次のメッセージが表示されます。

Rubyを選択するのにVMがあなたのGemfileを使った、それはすべて大丈夫です - Herokuもそうです、 'rvm rvmrc warning ignore/Library/WebServer/Documents/blog/Gemfile'でこれらの警告を無視することができます。すべてのファイルに対する警告を無視するには、 'rvm rvmrc warning ignore allGemfiles'を実行します。不明なRubyインタプリタバージョン(処理方法がわかりません):Ruby_VERSION。

これを解決する方法がわかりません。私はただ静的ブログを作成したいのですが、正直なところRuby、Gem、Bundleについては全く知りません:)だから私はいくつかの洞察を感謝します!

164
Alvaro

私の場合の問題は、Gemfile.lockファイルにBUNDLED_WITH1.16.1バージョンとgem install bundlerがインストールされているバージョン2.0.1があることです。そのため、フォルダーを正しく見るとバージョンの不一致がありました。

gem install bundler -v 1.16.1さんがそれを修正しました

もちろん、Gemfile.lockBUNDLED_WITHを最新のbundlerバージョンに変更して、 Sam3000 が提案するように最新のソフトウェアを使用することもできます。

299
gem update --system

rubygemsを更新して問題を解決します。

101
antonpaisov

誰かが私のような問題に巻き込まれるように書くだけです。

gem install bundlerは、あらゆるものがうまくインストールされることを示しています。

Fetching: bundler-1.16.0.gem (100%)
Successfully installed bundler-1.16.0
Parsing documentation for bundler-1.16.0
Installing ri documentation for bundler-1.16.0
Done installing documentation for bundler after 7 seconds
1 gem installed

bundleを起動したときにエラーが発生しました。

/Users/nikkov/.rvm/gems/Ruby-2.4.0/bin/bundle:23:in `load': cannot load such file -- /Users/nikkov/.rvm/rubies/Ruby-2.4.0/lib/Ruby/gems/2.4.0/gems/bundler-1.16.0/exe/bundle (LoadError)
    from /Users/nikkov/.rvm/gems/Ruby-2.4.0/bin/bundle:23:in `<main>'
    from /Users/nikkov/.rvm/gems/Ruby-2.4.0/bin/Ruby_executable_hooks:15:in `eval'
    from /Users/nikkov/.rvm/gems/Ruby-2.4.0/bin/Ruby_executable_hooks:15:in `<main>'

そして/Users/nikkov/.rvm/rubies/Ruby-2.4.0/lib/Ruby/gems/2.4.0/gems/フォルダにはbundler-1.16.0フォルダはありませんでした。

I 固定 thisとSudo gem install bundler


更新:

@noraj answer および@Niels Kristianのコメントによると、次のコマンドで作業を進めます。

gem update --system then bundle install
37
Nik Kov

BundlerがRubyGems v3.0.0を必要とするためにbundler 2.0.1または2.0.0をインストールしようとすると、本当の答えはここにあります。

昨日、私はBundler 2.0をリリースしました。これらの変更の1つは、BundlerがRubyGems v3.0.0を必要とするように設定したことです。リリース後、私たちの多くのユーザーが本当に新しいバージョンのRubyGemを必要とするBundler 2の問題に直面していることが明らかになりました。

私たちはユーザーからのフィードバックを注意深く聞いていて、RubyGemsの要件を最低でもv2.5.0に緩和することにしました。この要件を調整する新しいBundlerバージョンv2.0.1をリリースしました。

詳細については、 https://bundler.io/blog/2019/01/04/an-update-on-the-bundler-2-release.html を参照してください。

28
noraj

これはそれを修正しました:

  1. Gemfile.lockを削除します。rm Gemfile.lock
  2. bundle installをもう一度実行してください
21
Klonept

その理由はあなたの現在のRuby環境です、あなたはGemfile.lockの中のバージョンと異なるバージョンのbundlerを手に入れました。

  • 念のため、Gemfile.lockに同じバージョンのbundlerをインストールしてください。なんらかの異常なことが発生しても、問題は解決しません。
  • 難しい方法は、Gemfile.lockを削除してbundle installを実行するだけです。
15
Mathew P. Jones

使用しているRubyのバージョンをrvm useで変更した場合は、Gemfile.lockを削除してやり直してください。

11
Wawa Loo

アプリフォルダのルートにあるGemfile.lockを開きます。ファイルの末尾までスクロールして、使用されているバンドラーのバージョンを確認します。それからあなたはあなたが使用されるバンドラーバージョンをインストールすることを確認します:

gem install bundler -v x.xx.xx

または - Gemfile.lockを削除して、バンドル版の上位バージョンがインストールされている場合はバンドルします。

選択はあなた次第です、私の友達。

5

私の問題は、私がRVMを使用していて、間違ったRubyバージョンを起動していたことです。

これが少なくとも一人の人に役立つことを願っています

1
Greg Hilston

私の場合は、Rubyを2.5.xから2.4.xにダウングレードしました。

0
Victor Piousbox

今日も同じ問題がありました。私はこの問題を解決するために、古いPATH.bashrc内のすべてのrvmを削除します。

0
xhg