我尝试使用rbenv-doctor
命令检查rbenv
问题;
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/main/bin/rbenv-doctor | bash
我明白了;
Checking for `rbenv' in PATH: /usr/local/bin/rbenv
Checking for rbenv shims in PATH: found at wrong position 👈
The directory `/Users/myname/.rbenv/shims' is present in PATH, but is listed too late.
The Ruby version found in `/usr/local/opt/ruby/bin' will have precedence. Please reorder your PATH.
Checking `rbenv install' support: /usr/local/bin/rbenv-install (ruby-build 20210510)
Counting installed Ruby versions: 5 versions
Checking RubyGems settings: OK
Auditing installed plugins: OK
我想强调这一点;
Checking for rbenv shims in PATH: found at wrong position
结果显示Please reorder your PATH.
。我如何做到这一点???
(更新)这是我的./zshrc
文件中的rbenv
内容
if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi
export PATH="/usr/local/opt/openssl@1.1/bin:$PATH"
export PATH="/usr/local/opt/ruby/bin:$PATH"
export PATH="/usr/local/opt/krb5/bin:$PATH"
export PATH="/usr/local/opt/krb5/sbin:$PATH"
if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi
export PATH="/usr/local/sbin:$PATH"
if which rbenv > /dev/null; then eval "$(rbenv init -)"; fi
export PATH="/usr/local/opt/luajit-openresty/bin:$PATH"
export PATH="/usr/local/opt/icu4c/bin:$PATH"
export PATH="/usr/local/opt/icu4c/sbin:$PATH"
export PATH="/usr/local/opt/ncurses/bin:$PATH"
export PATH="/usr/local/opt/ruby/bin:$PATH"
5条答案
按热度按时间0vvn1miw1#
来自
rbenv
自述文件:了解路径
当您执行
ruby
或rake
之类的指令时,操作系统会搜寻目录清单,以寻找具有该名称的可可执行。此目录清单位于名为PATH
的环境变量中,清单中的每个目录都以冒号分隔:PATH
中的目录是从左到右搜索的,因此列表开头的目录中匹配的可执行文件优先于列表末尾的另一个可执行文件。在本例中,将首先搜索/usr/local/bin
目录,然后搜索/usr/bin
,最后搜索/bin
。了解垫片
rbenv
的工作方式是在PATH的前面插入一个shim目录:检查您将
~/.rbenv/shims
添加到PATH
的位置(可能是在~/.bashrc
或~/.zshrc
之类的文件中?),并确保将其添加到PATH
的START,而不是末尾。要查看
$PATH
变量的完整内容,可以运行:de90aj5v2#
变量
PATH
本质上是一个有序的目录列表,由:
分隔。当你输入一个可执行文件的文件名,例如ruby
,这些目录将被依次搜索,以找到一个名为ruby
的二进制文件。所以当你的
PATH
目录中有多个ruby
文件时,PATH
目录的顺序很重要。你需要确保所需的目录出现在PATH
中它的“竞争者”之前。这很简单:您可以将上面的代码片段放在
.zshrc
的末尾,以确保它是shell运行的最后一段代码。5m1hhzi43#
这是因为有人在使用
rbenv
之前安装了ruby,这没什么问题。你不需要卸载任何东西。你可以通过以下操作来修复这个问题:1.打开您的个人资料,通常为
~/.zshrc
1.找到调用
export PATH
的第一个示例。如果没有在任何地方调用它,也没关系。1.在您的
.zshrc
文件中键入此命令,但将目录更改为您自己的export PATH="/Users/janac/.rbenv/shims:$PATH"
想知道你是否做对了,跑吧
curl -fsSL https://github.com/rbenv/rbenv-installer/raw/main/bin/rbenv-doctor | bash
并验证没有错误。
aelbi1ox4#
在'/usr/local/opt/ruby/bin'中找到的Ruby版本将具有优先权。
看起来你是用Homebrew安装ruby的。如果你打算用rbenv来代替,我建议你卸载它。
yc0p9oo05#
适用于MacOS用户的简化说明:
在文件末尾添加以下内容:
编写并退出vim编辑器
验证设置:
预期输出: