我刚刚使用
rbenv install 3.0.4
安装了 ruby 3.0.4,它有效,但 rbenv 仍然说:
$ rbenv versions
rbenv: version `3.0' is not installed (set by /home/dombek/code/.ruby-version)
system
3.0.4
请求3.0时不是应该找到3.0.4吗?我该如何解决这个问题?
请求3.0时不是应该找到3.0.4吗?
不。这是预期的行为。 rbenv 期望安装并设置使用
.ruby-version
文件中指定的确切版本。
我该如何解决这个问题?
取决于您所说的修复是什么意思。这里显而易见的答案是只指定正确的版本:
echo '3.0.4' > /home/dombek/code/.ruby-version
或者,您可以使用 rbenv 全局或本地设置 3.0.4:
rbenv global 3.0.4
# or
rbenv local 3.0.4
更改版本后,您应该重新哈希 rbenv 以应用更改:
rbenv rehash
最后,我不确定这有多实用,但理论上你可以编写一个 bash 脚本,让你指定像“3.0”这样的 ruby 版本。比如:
set_nearest_rbenv_version() {
desired_version=$1.*
nearest_version=$(rbenv versions --bare | grep -E "^$desired_version" | tail -1)
if [ -n "$nearest_version" ]; then
rbenv global $nearest_version
echo "Set to nearest version: $nearest_version"
else
echo "No matching versions found."
fi
}
set_nearest_rbenv_version 3.0
^ 未经测试。