.zshenv:2: 找不到命令:rbenv

.zshenv:2: command not found: rbenv

从 bash 切换到 zsh 时,我查找了如何解决 rbenv 文件夹未被 zsh 正确使用的问题,并发现:

$ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshenv
$ echo 'eval "$(rbenv init -)"' >> ~/.zshenv
$ echo 'source $HOME/.zshenv' >> ~/.zshrc
$ exec $SHELL

我 运行 所有这些并且现在似乎正在使用正确的 rbenv 文件夹,但是每当我打开一个新的 iTerm window 时我都会收到此错误消息:

/Users/myname/.zshenv:2: command not found: rbenv

我做错了什么?任何帮助将不胜感激。

您需要向 PATH 添加两件事。 首先是 rbenv 本身,其次是 ruby shims.

第 1 部分 rbenv

安装

自制软件

如果您使用 brew 安装了 rbenv, 那么 rbenv 可执行文件应该链接到 /usr/local/bin/rbenv.

详情见homebrew installation documentation

如果缺少 /usr/local/bin,请将其添加到您的路径 PATH

# in ~/.zshrc

export PATH=/usr/local/bin:$PATH

Github结账

如果您通过 Github 结帐安装 rbenv,则 rbenv 可执行文件应存储在 ~/.rbenv/bin.

详情见github installation documentation

如果缺少 ~/.rbenv/bin,请将其添加到您的路径 PATH

# in ~/.zshrc

export PATH=$HOME/.rbenv/bin:$PATH

验证

请通过调用 which rbenv 验证 rbenv 在您的路径中。 安装路径应该是returend.

第 2 部分垫片

将 ruby shims 添加到您的路径。

# in ~/.zshrc

eval "$(rbenv init -)"

除了 eval "$(rbenv init -)" 命令,您还可以直接添加 shims 文件夹。

# in ~/.zshrc

export RBENV_ROOT=$HOME/.rbenv
export PATH=$RBENV_ROOT/shims:/versions:$PATH

第 3 部分 rbenv 医生

您可能还会 运行 rbenv-doctor 提到的脚本 here, 检查您的安装。

我遇到了同样的问题... 当我 运行 ruby 或 rbenv 时,我收到此错误“找不到命令”

试试这个:

echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.zshenv

echo 'eval "$(rbenv init - zsh)"' >> ~/.zshenv

echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.zshenv

我有同样的错误。我可以 运行 which rbenvrbenv 就好了,但不管我得到什么 command not found: rbenv。问题是我的 ~/.zshenv 中有 eval "$(rbenv init -)" 而不是我的 ~/.zshrc 文件。您仍然可以将 rbenv 的路径添加到 ~/.zshenv 内的 $PATH 以使其正常工作。