Bundler:在与gem捆绑安装期间找不到具有可执行捆绑(Gem :: GemNotFoundException)的gem bundler(> = 0.a)

问题描述 投票:68回答:9

我正在执行以下脚本:

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添加到路径中,因此能够安装gems。

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)
ruby-on-rails ruby rubygems bundle bundler
9个回答
121
投票

Bundler版本2引入了一项新功能,可以自动使用项目Gemfile.lock中指定的Bundler版本。因此,如果您现有的Gemfile.lock在底部有这样的行


83
投票

根据帖子中提到的描述,在运行下面提到的命令之前:


37
投票

我什至都无法bundle -v。这样解决了:


17
投票
gem install bundler -v '< 2.0' 

4
投票

最近我遇到了同样的问题。就我而言,我在捆绑器上安装了与Gemfile.lock中记录的版本不同的版本。请检查


3
投票

我也遇到过同样的问题。该问题是由于RubyGems无法在系统上为bundler gem找到可执行文件包而引起的]

要修复,请先运行


0
投票

我今天刚遇到相同的错误。我以前在系统中安装的捆绑软件版本为:1.16.6


0
投票

将mac os升级到Catalina后,我看到了travis软件包的类似错误消息。


0
投票

您必须通过运行安装RubyGems寻找的Bundler的确切版本:

© www.soinside.com 2019 - 2024. All rights reserved.