rbenv 说已安装版本未安装

问题描述 投票:0回答:1

我刚刚使用

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吗?我该如何解决这个问题?

ruby ubuntu-20.04 rbenv
1个回答
0
投票

请求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

^ 未经测试。

© www.soinside.com 2019 - 2024. All rights reserved.