다음 스크립트를 실행하고 있습니다.
gem install rdoc --no-document
gem install bundle
bundle
산출:
+ gem install rdoc --no-document
Successfully installed rdoc-6.1.1
1 gem installed
+ gem install bundle
Successfully installed bundle-0.0.1
Parsing documentation for bundle-0.0.1
Done installing documentation for bundle after 2 seconds
1 gem installed
1 gem installed
+ bundle install
/usr/lib/ruby/2.5.0/rubygems.rb:289:in `find_spec_for_exe': can't find gem bundler (>= 0.a) with executable bundle (Gem::GemNotFoundException)
from /usr/lib/ruby/2.5.0/rubygems.rb:308:in `activate_bin_path'
from /srv/myuser/.gem/ruby/2.5.0/bin/bundle:23:in `<main>'
/srv/myuser/.gem/ruby/2.5.0/bin
내 경로에 추가 하여 gem을 설치할 수있었습니다.
gem env
쇼
RubyGems Environment:
- RUBYGEMS VERSION: 2.7.7
- RUBY VERSION: 2.5.1 (2018-03-29 patchlevel 57) [x86_64-linux]
- INSTALLATION DIRECTORY: /usr/lib/ruby/gems/2.5.0
- USER INSTALLATION DIRECTORY: /srv/myuser/.gem/ruby/2.5.0
- RUBY EXECUTABLE: /usr/bin/ruby
- EXECUTABLE DIRECTORY: /usr/bin
- SPEC CACHE DIRECTORY: /srv/myuser/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: /etc
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-linux
- GEM PATHS:
- /usr/lib/ruby/gems/2.5.0
- /srv/myuser/.gem/ruby/2.5.0
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- "gem" => "--user-install"
- REMOTE SOURCES:
- https://rubygems.org/
- SHELL PATH:
- /usr/local/sbin
- /usr/local/bin
- /usr/bin
gem list
설치된 보석을 보여줍니다. 다음을 수행 할 때도 번들을 찾을 수 있습니다.
ls -ltrah /srv/myuser/.gem/ruby/2.5.0/bin
번 들러를 설치하려고 시도했지만 도움이되지 않았습니다. 내가 도대체 뭘 잘못하고있는 겁니까?
gem which bundle
아무것도 보이지 않습니다. gem spec bundle
그것을 보여주고 있습니다.
업데이트 : 번들을 실행하기 전에 번 들러를 설치하려고했지만 다음과 같은 동안 동일한 문제가 나타납니다.
gem list bundle
쇼
bundle (0.0.1)
bundler (2.0.1)
답변
Bundler 버전 2는 Gemfile.lock
프로젝트에 지정된 Bundler 버전을 자동으로 사용하는 새로운 기능을 도입했습니다 . 따라서 Gemfile.lock
하단에 이와 같은 선 이있는 기존
BUNDLED WITH
1.17.3
Bundler는 Bundler 버전 2.0 미만으로 실행을 시도합니다. Bundler 2.0.1 (및 Rubygems> = 2.7.0)이 설치되어 있기 때문에 다소 도움이되지 않는 오류 메시지와 함께 실패합니다.
이 문제를 해결하려면
- 당신의 줄을 제거하고
Gemfile.lock
지금부터 어디서나 번 들러 2.x를 사용 하십시오. - 에
gem install bundler -v '< 2.0'
지정된대로 적절한 버전을 사용하려면 번 들러 1.x 버전을 설치 하십시오Gemfile.lock
.
이에 대한 자세한 정보는 Bundler 블로그 에서 찾을 수 있습니다 .
답변
게시물에 언급 된 설명에 따라 아래 언급 된 명령을 실행하기 전에 :
bundle install
스크립트에서 아래 명령을 실행해야합니다.
gem install bundler
따라서 작동 할 명령의 순서는 다음과 같습니다.
gem install bundler
bundle install
작동하지 않는 경우 번 들러 명령을 업데이트하십시오.
gem install bundler -v '1.17.3'
번 들러 2.0에서 기능이 중단 된 이유는 아래에 언급 된 링크에 나와 있습니다.
https://bundler.io/blog/2019/01/04/an-update-on-the-bundler-2-release.html
답변
나는 심지어 할 수 없었다 bundle -v
. 이것은 그것을 분류했습니다.
gem update --system
여기에서 정보를 얻었습니다 (유사한 문제). find_spec_for_exe ‘: 보석 번 들러를 찾을 수 없습니다 (> = 0.a) (Gem :: GemNotFoundException)
아마도 루비 + 보석 + 번 들러 간의 일부 버전 불일치
답변
gem install bundler -v '< 2.0'
답변
최근에 같은 문제가 발생했습니다. 제 경우에는 Gemfile.lock에 기록 된 것과 다른 버전을 번 들러에 설치했습니다. 확인해주십시오
답변
나는이 같은 문제에 직면했다. 이 문제는 RubyGems가 시스템에서 번 들러 gem의 실행 가능한 번들을 찾을 수 없기 때문에 발생합니다.
문제를 해결하려면 먼저 실행하세요.
gem install bundler
번 들러 젬이 로컬에 설치되어 있지 않으면 다음을 실행하십시오.
gem update --system
그게 다야
이게 도움이 되길 바란다
답변
RubyGems가 찾고있는 정확한 버전의 Bundler를 다음을 실행하여 설치해야합니다.
$ gem install bundler -v "$(grep -A 1 "BUNDLED WITH" Gemfile.lock | tail -n 1)"