sourcecode

find_spec_for_exe': 보석 번들러를 찾을 수 없습니다(>= 0.a) (Gem::GemNotFound예외)

codebag 2023. 6. 7. 22:46
반응형

find_spec_for_exe': 보석 번들러를 찾을 수 없습니다(>= 0.a) (Gem::GemNotFound예외)

사용한sudo bundle install그게 문제의 원인일 수도 있죠?

이제 다음이 있습니다.

  • gem -v2.6.14
  • ruby -v루비 2.3.5p376 (2017-09-14 개정판 59905) [x86_64-160015]
  • 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에서 Ruby를 선택하는 데 Gemfile을 사용했습니다. 모두 정상입니다. Heroku도 마찬가지입니다. 'rvmrvmrc warning ignore /Library/WebServer/Documents/blog/Gemfile'을 사용하여 이러한 경고를 무시할 수 있습니다.모든 파일에 대한 경고를 무시하려면 'rvm rvmrc warning ignore allGemfiles'를 실행합니다.알 수 없는 루비 인터프리터 버전(처리 방법을 알 수 없음): RUBY_VERSION.

어떻게 해결해야 할지 모르겠어요.저는 정적인 블로그를 만들고 싶을 뿐이고 솔직히 루비, 보석, 번들에 대해서는 전혀 모릅니다 :) 그래서 몇 가지 통찰력을 주시면 감사하겠습니다!

제 경우의 문제는Gemfile.lock파일이 있었습니다.BUNDLED_WITH의 버전1.16.1그리고.gem install bundler설치된 버전2.0.1그래서 폴더 오른쪽을 찾을 때 버전이 일치하지 않았습니다.

gem install bundler -v 1.16.1고친

물론, 당신은 또한 당신의 것을 바꿀 수 있습니다.Gemfile.lockBUNDLED_WITH마지막으로bundlerSam3000이 제안하는 것처럼 최신 소프트웨어의 버전 및 사용

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

이를 통해 해결되었습니다.

  1. Gemfile.lock 제거rm Gemfile.lock
  2. 달려.bundle install다시.

편집: 운영 환경에서 작업하지 마십시오!

제작에 대해서는 다음 답변을 참조하십시오. https://stackoverflow.com/posts/54083113/revisions

RubyGems v3.0.0이 필요한 번들러 때문에 번들러 2.0.1 또는 2.0.0을 설치하려고 하면 진짜 답이 여기에 있습니다.

어제 저는 몇 가지 획기적인 변경 사항을 도입한 Bundler 2.0을 출시했습니다.이러한 변경 사항 중 하나는 번들러를 RubyGems v3.0.0을 요구하도록 설정한 것입니다.출시 후 많은 사용자가 RubyGems의 새로운 버전을 필요로 하는 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 을 참조하십시오.

그 이유는 당신의 현재 루비 환경 때문입니다. 당신은 다른 버전의 번들러를 가지고 있습니다.Gemfile.lock.

  • 방법으로 한 버 전 의 번 러 들 한 설 치 일 방 법 ▁bund ▁safe 러 ler ▁installGemfile.lock승리할 수 없는 일이 일어난다면 이것은 아무것도 깨지지 않을 것입니다.
  • 어려운 방법입니다. 그냥 제거하세요.Gemfile.lock그리고 실행bundle install.

의 번들러와 일치하는 합니다.Gemfile.lock매개 변수:

gem install bundler -v "$(grep -A 1 "BUNDLED WITH" Gemfile.lock | tail -n 1)"

하고 있는 루비 을 변경한 경우 변경경우한전을버비루사용인중우▁you경▁if▁the.rvm useGemfile.lock을 제거하고 다시 시도합니다.

앱 폴더의 루트에 있는 Gemfile.lock을 엽니다.파일 끝까지 스크롤하여 사용된 번들러 버전을 확인합니다.그런 다음 사용된 번들러 버전을 설치해야 합니다.

gem install bundler -v x.xx.xx

또는 - 상위 번들러 버전이 설치된 경우 Gemfile.lock을 삭제하고 번들을 제공합니다.

선택은 네 몫이야, 친구

많은 답변을 덧붙이자면, 저의 문제는 도커의 루비를 베이스로 사용하고 싶어하는 것에서 비롯되었지만, 위에 rbenv를 사용하는 것에서 비롯되었습니다.이것은 많은 것들을 망칩니다.

이 경우에는 다음과 같이 수정했습니다.

  • Gemfile.lock 버전은 업데이트가 필요했습니다 - "Bundled WITH"를 한 시점에서 최신 버전으로 변경하면 오류 메시지가 변경되어 필요했을 수 있습니다.
  • .vmdk_profile 또는 .vmdkrc에서 환경 변수의 설정을 취소합니다.
unset GEM_HOME
unset BUNDLE_PATH

그 후, rbenv는 잘 작동했습니다.애당초 그 대사관들이 어떻게 준비되었는지는 잘 모르겠지만,

나의 경우 위의 제안들은 나에게 효과가 없었습니다.제 시나리오는 조금 달랐습니다.

가 를시도을때를 때.bundler용사를 gem install bundler하지만 나는 받고 있었습니다.

ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /Library/Ruby/Gems/2.3.0 directory.

그리고 나서 저는 사용하려고 했습니다.sudo gem install bundler그때 나는 받고 있었습니다.

ERROR:  While executing gem ... (Gem::FilePermissionError)
  You don't have write permissions for the /usr/bin directory.

그리고 나서 저는 시도했습니다.sudo gem install bundler -n /usr/local/bin (그냥그)/usr/bin작업).

성공적으로 했습니다.bundler

저는 MacOS를합니다. 아마도 MacOS일 것입니다./usr/bin그런 이유로 저를 위해 일하지 않습니다(https://stackoverflow.com/a/34989655/3786657 댓글).

오늘도 같은 문제가 있었습니다.나는 이 문제를 제거함으로써 해결합니다.PATH.bashrc고령자를 위한rvm.

제 문제는 RVM을 사용하고 있는데 잘못된 Ruby 버전을 활성화했다는 것입니다.

이것이 적어도 한 사람에게 도움이 되기를 바랍니다.

는 실할때이오발생다니습했가류행▁running다를 실행할 때 발생했습니다.bin/dev

bin/dev
/Users/st/.rbenv/versions/3.0.3/lib/ruby/site_ruby/3.0.0/rubygems.rb:265:in `find_spec_for_exe': can't find gem foreman (>= 0.a) with executable foreman (Gem::GemNotFoundException)
    from /Users/st/.rbenv/versions/3.0.3/lib/ruby/site_ruby/3.0.0/rubygems.rb:284:in `activate_bin_path'
    from /Users/st/.rbenv/versions/3.0.3/bin/foreman:25:in `<main>'

저는 여러 가지를 시도했지만, 간단히 해결한 것은 다음과 같습니다.

gem install foreman

그리고 지금은bin/dev예상대로 작동합니다.

저는 제 경우 루비를 2.5.x에서 2.4.x로 다운그레이드했습니다.

해야만 했어요rake clean --force 나서 그다에음.gem install rake등등.

언급URL : https://stackoverflow.com/questions/47026174/find-spec-for-exe-cant-find-gem-bundler-0-a-gemgemnotfoundexception

반응형