gpt4 book ai didi

Ruby 安装坏了

转载 作者:太空宇宙 更新时间:2023-11-03 16:23:29 24 4
gpt4 key购买 nike

我有一台运行 Yosemite (10.10.2) 的 Mac,我使用 brew 在上面安装了 ruby​​ 2.2.2(我也试过 rbenv)。每当我运行 bundle、rake 或任何与 ruby​​ 相关的东西时,我都会收到此错误:

$ bundle
/usr/local/Cellar/ruby/2.2.2/lib/ruby/2.2.0/rubygems/dependency.rb:315:in `to_specs': Could not find 'bundler' (>= 0) among 9 total gem(s) (Gem::LoadError)
Checked in 'GEM_PATH=/Users/cici/.gem/ruby/2.2.0:/usr/local/lib/ruby/gems/2.2.0:/usr/local/Cellar/ruby/2.2.2/lib/ruby/gems/2.2.0', execute `gem env` for more information
from /usr/local/Cellar/ruby/2.2.2/lib/ruby/2.2.0/rubygems/dependency.rb:324:in `to_spec'
from /usr/local/Cellar/ruby/2.2.2/lib/ruby/2.2.0/rubygems/core_ext/kernel_gem.rb:64:in `gem'
from /usr/local/bin/bundle:22:in `<main>'

我遇到这种情况是为了修复 openssl 错误。无论如何,错误消息是正确的,我在这些路径中没有 bundler gem。我只是不明白为什么我的路径在那里。我没有这条路:

 /Users/cici/.gem/ruby/2.2.0

相反,它是:

/Users/cici/.gem/ruby/2.0.0

我使用 rbenv 安装了 2.2.2,所以我不确定 a) 为什么 2.2.0 在 GEM_PATH 上以及 b) 为什么我在 .gem 下有 2.0.0?这是其输出:

$ which -a ruby
/usr/local/bin/ruby
/usr/local/bin/ruby
/usr/local/bin/ruby
/usr/bin/ruby
/usr/bin/ruby
/usr/local/bin//ruby

/usr/local/bin/ruby 是到/usr/bin/ruby 的符号链接(symbolic link)。我不确定最后一个条目是什么!版本返回:

$ ruby -v
ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-darwin14]

我怎样才能清理这一切并重新开始?我已经尝试过 rbenv uninstall 以及使用 brew 来安装和卸载。

谢谢!

最佳答案

Ruby 在特定于版本的路径中查找 gem,忽略补丁版本。因此,如果您之前在 Ruby 2.0.x 下安装了 gems,它们会进入 /Users/cici/.gem/ruby/2.0.0 但现在您已经安装了 Ruby 2.2.x,它正在查找/Users/cici/.gem/ruby/2.2.0.

当你升级 Ruby 时,这可能是一个问题,因为你所有的 gem 可执行文件(例如 bundle)仍然在你的 $PATH 中,但它们所需的文件没有由于新版本,在 Ruby 的加载路径中更长。尝试运行 which bundle;我打赌它在某些路径中,例如 /Users/cici/.gem/ruby/2.0.0/bin

解决方案是重新安装所有的 gem,并可能更新您的 $PATH 以不包含旧版本的可执行文件。如果设置正确,rbenv 应该会处理最后一部分。

关于Ruby 安装坏了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29718267/

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