我刚刚使用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吗?我怎么才能解决这个问题呢?
我刚刚使用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脚本,让你指定一个ruby版本,比如"3.0".类似于:
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
^未经测试.