[ruby] find_spec_for_exe ‘: gem bundler (> = 0.a)를 찾을 수 없습니다 (Gem :: GemNotFoundException)

내가 사용 sudo bundle install했는데 이것이 문제의 원인 일 수 있습니까?

지금 나 한테있어:

  • gem -v 2.6.14
  • ruby -v 루비 2.3.5p376 (2017-09-14 개정 59905) [x86_64-darwin15]
  • jekyll -v 지킬 3.6.2
  • bundle -v번 들러 버전 1.16.0.pre.3

실행하려고 할 때 bundle exec jekyll serve또는 다음과 같은 오류가 발생합니다.jekyll serve

/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:in `activate_bin_path'
    from /Users/myusername/.rvm/gems/ruby-2.3.5/bin/bundle:23:in `<main>'
    from /Users/myusername/.rvm/gems/ruby-2.3.5/bin/ruby_executable_hooks:15:in `eval'
    from /Users/myusername/.rvm/gems/ruby-2.3.5/bin/ruby_executable_hooks:15:in `<MacBooMacBook-MacBook-MacBook-Pro-MacBook-PrMacBook-MacBooMacBMaMacBMaMaMaMaMaMaMaMaMacBMaMaMaMacBMa

또한 블로그가있는 폴더에 액세스 할 때 cd my_path 하면 다음 메시지가 나타납니다.

VM은 Gemfile을 사용하여 Ruby를 선택했습니다. Heroku도 마찬가지입니다. ‘rvm rvmrc warning ignore / Library / WebServer / Documents / blog / Gemfile’을 사용하여 이러한 경고를 무시할 수 있습니다. 모든 파일에 대한 경고를 무시하려면 ‘rvm rvmrc warning ignore allGemfiles’를 실행하십시오. 알 수없는 루비 인터프리터 버전 (처리 방법을 모름) : RUBY_VERSION.

이 문제를 해결하는 방법을 모르겠습니다. 나는 정적 블로그를 만들고 싶고 솔직히 Ruby, Gem 또는 Bundle에 대해 전혀 모른다 🙂 그래서 통찰력에 감사하겠습니다!



답변

내 경우에는 문제가 있다는 것입니다 Gemfile.lock파일이 있었다 BUNDLED_WITH버전 1.16.1gem install bundler설치된 버전을 2.0.1, 그래서 폴더를 오른쪽 찾고 버전 불일치가 발생했습니다

gem install bundler -v 1.16.1 고쳤다

물론, 당신은 또한 변경할 수 Gemfile.lock의를 BUNDLED_WITH마지막으로 bundler같은 버전과 최신 소프트웨어를 사용 Sam3000가 제안


답변

gem update --system

루비 젬을 업데이트하고 문제를 해결합니다.


답변

최신 정보:

@noraj의 답변 과 @Niels Kristian의 의견에 따르면 다음 명령이 작업을 수행해야합니다.

gem update --system
bundle install

누군가가 내 것과 같은 문제에 빠질 경우를 대비하여 이것을 썼습니다.

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.

나는 이것을 고정 시켰다sudo gem install bundler


답변

RubyGems v3.0.0이 필요한 번 들러로 인해 번 들러 2.0.1 또는 2.0.0을 설치하려는 경우 실제 답변이 여기에 있습니다.

어제 Bundler 2.0을 릴리스하여 여러 가지 주요 변경 사항이 도입되었습니다. 이러한 변경 중 하나는 Bundler가 RubyGems v3.0.0을 요구하도록 설정하는 것입니다. 릴리스 후 많은 사용자들이 실제로 새로운 버전의 RubyGem을 요구하는 Bundler 2에 문제를 겪고 있음이 분명해졌습니다.

우리는 사용자의 피드백을 면밀히 듣고 있으며 RubyGems 요구 사항을 최소한 v2.5.0으로 완화하기로 결정했습니다. 이 요구 사항을 조정하는 새로운 번 들러 버전 v2.0.1을 출시했습니다.

자세한 내용은 https://bundler.io/blog/2019/01/04/an-update-on-the-bundler-2-release.html을 참조하십시오.


답변

이것은 그것을 고쳤다 :

  1. Gemfile.lock를 제거하십시오 rm Gemfile.lock
  2. bundle install다시 실행

편집 : 생산하지 마십시오!

생산을 위해이 답변으로 이동 하십시오 :
https://stackoverflow.com/posts/54083113/revisions


답변

그 이유는 현재 루비 환경이므로에 버전이 다른 번 들러 버전이 Gemfile.lock있습니다.

  • 안전한 방법으로에 동일한 버전의 Gemfile.lock번 들러를 설치하십시오.
  • 어려운 방법은 제거 Gemfile.lock하고 실행하십시오 bundle install.

답변

로 사용중인 루비 버전을 변경 한 경우 rvm useGemfile.lock을 제거하고 다시 시도하십시오.