gpt4 book ai didi

ruby - rbenv — 'find_spec_for_exe':找不到带有可执行包的 gem 打包器 (>= 0.a) (Gem::GemNotFoundException)

转载 作者:数据小太阳 更新时间:2023-10-29 06:44:47 26 4
gpt4 key购买 nike

我是 rbenv 的新手(长期使用 RVM)。今天我彻底卸载了我的 RVM 并安装了 rbenv。我成功安装了 Ruby 2.5.1,没有任何问题。

但是,当我今天尝试为一个项目运行 bundle install 时,出现了以下错误:

'find_spec_for_exe':找不到带有可执行包 (Gem::GemNotFoundException) 的 gem 打包器 (>= 0.a)

我的 bundler 安装似乎出了点问题,但我不确定哪里出了问题。使用 sudo 运行 gem install bundler 无法解决问题。

这是完整的轨迹:

$ echo $SHELL
/bin/zsh


$ cat ~/.gemrc
gem: --no-document
install: --no-document
update: --no-document


$ rbenv versions
system
* 2.5.1 (set by /Users/zulh/.rbenv/version)


$ ruby -v
ruby 2.5.1p57 (2018-03-29 revision 63029) [x86_64-darwin16]


$ which ruby
/Users/zulh/.rbenv/shims/ruby


$ gem env
RubyGems Environment:
- RUBYGEMS VERSION: 2.7.6
- RUBY VERSION: 2.5.1 (2018-03-29 patchlevel 57) [x86_64-darwin16]
- INSTALLATION DIRECTORY: /Users/zulh/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0
- USER INSTALLATION DIRECTORY: /Users/zulh/.gem/ruby/2.5.0
- RUBY EXECUTABLE: /Users/zulh/.rbenv/versions/2.5.1/bin/ruby
- EXECUTABLE DIRECTORY: /Users/zulh/.rbenv/versions/2.5.1/bin
- SPEC CACHE DIRECTORY: /Users/zulh/.gem/specs
- SYSTEM CONFIGURATION DIRECTORY: /Users/zulh/.rbenv/versions/2.5.1/etc
- RUBYGEMS PLATFORMS:
- ruby
- x86_64-darwin-16
- GEM PATHS:
- /Users/zulh/.rbenv/versions/2.5.1/lib/ruby/gems/2.5.0
- /Users/zulh/.gem/ruby/2.5.0
- GEM CONFIGURATION:
- :update_sources => true
- :verbose => true
- :backtrace => false
- :bulk_threshold => 1000
- "gem" => "--no-document"
- "install" => "--no-document"
- "update" => "--no-document"
- REMOTE SOURCES:
- https://rubygems.org/
- SHELL PATH:
- /Users/zulh/.rbenv/versions/2.5.1/bin
- /usr/local/Cellar/rbenv/1.1.1/libexec
- /Users/zulh/.rbenv/shims
- /usr/local/bin
- /Users/zulh/go/bin
- /usr/local/bin
- /Users/zulh/go/bin
- /Users/zulh/.rbenv/shims
- /usr/local/bin
- /Users/zulh/go/bin
- /Users/zulh/.rbenv/shims
- /usr/local/bin
- /Users/zulh/go/bin
- /usr/local/bin
- /usr/bin
- /bin
- /usr/sbin
- /sbin
- /Library/Frameworks/Mono.framework/Versions/Current/Commands
- /Applications/Postgres.app/Contents/Versions/latest/bin
- /Users/zulh/projects/tifig/build/tifig
- /Applications/Postgres.app/Contents/Versions/latest/bin
- /Users/zulh/projects/tifig/build/tifig
- /Applications/Postgres.app/Contents/Versions/latest/bin
- /Users/zulh/projects/tifig/build/tifig
- /Applications/Postgres.app/Contents/Versions/latest/bin
- /Users/zulh/projects/tifig/build/tifig
- /Applications/Postgres.app/Contents/Versions/latest/bin


$ which bundler
/Users/zulh/.rbenv/shims/bundler


$ bundler --version
Traceback (most recent call last):
2: from /Users/zulh/.rbenv/versions/2.5.1/bin/bundler:23:in `<main>'
1: from /Users/zulh/.rbenv/versions/2.5.1/lib/ruby/2.5.0/rubygems.rb:308:in `activate_bin_path'
/Users/zulh/.rbenv/versions/2.5.1/lib/ruby/2.5.0/rubygems.rb:289:in `find_spec_for_exe': can't find gem bundler (>= 0.a) with executable bundler (Gem::GemNotFoundException)


$ cd projects/www.ruby-lang.org


$ bundle install --without production
Traceback (most recent call last):
2: from /Users/zulh/.rbenv/versions/2.5.1/bin/bundle:23:in `<main>'
1: from /Users/zulh/.rbenv/versions/2.5.1/lib/ruby/2.5.0/rubygems.rb:308:in `activate_bin_path'
/Users/zulh/.rbenv/versions/2.5.1/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)


$ sudo gem install bundler
Password:
Successfully installed bundler-2.0.1
1 gem installed


$ which bundler
/Users/zulh/.rbenv/shims/bundler


$ bundler --version
Traceback (most recent call last):
2: from /Users/zulh/.rbenv/versions/2.5.1/bin/bundler:23:in `<main>'
1: from /Users/zulh/.rbenv/versions/2.5.1/lib/ruby/2.5.0/rubygems.rb:308:in `activate_bin_path'
/Users/zulh/.rbenv/versions/2.5.1/lib/ruby/2.5.0/rubygems.rb:289:in `find_spec_for_exe': can't find gem bundler (>= 0.a) with executable bundler (Gem::GemNotFoundException)


$ bundle install --without production
Traceback (most recent call last):
2: from /Users/zulh/.rbenv/versions/2.5.1/bin/bundle:23:in `<main>'
1: from /Users/zulh/.rbenv/versions/2.5.1/lib/ruby/2.5.0/rubygems.rb:308:in `activate_bin_path'
/Users/zulh/.rbenv/versions/2.5.1/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)

如何解决这个问题?

注意:我使用的是 OSX 10.12.6

最佳答案

bundler was updated from 1.7 to 2 on Jan 4 .由于更新,gem install bundler 将从 1 月 4 日起安装版本 2,如果您尝试安装 bundler 而不指定版本。 bundler 2.0 要求 rubygems 版本至少为 3.0。

首先,使用 gem --version 检查本地机器上安装的 ruby​​gems。如果您使用 ruby​​ v2.5.1,您的 ruby​​gems 版本将是 2.7.x 和 3.x 以下。

RubyGems Environment:
- RUBYGEMS VERSION: 2.7.6
- RUBY VERSION: 2.5.1 (2018-03-29 patchlevel 57) [x86_64-darwin17]

在 ruby​​gems 3.x 版本下,gem install bundler 命令将无法正常工作。

要解决问题,

1) 更新rubygems

gem update --system

2) 安装旧版本的bundler

gem install bundler -v 1.17.3

3) 安装 Ruby 2.6。 2.6 于去年圣诞节发布,Ruby 2.6 merges bundler gem and use rubygems 3.0.1 as default .从 Ruby 2.6 开始,您不需要手动安装 bundler。

rbenv install 2.6

关于ruby - rbenv — 'find_spec_for_exe':找不到带有可执行包的 gem 打包器 (>= 0.a) (Gem::GemNotFoundException),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54042692/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com