0

自从安装 rbenv 以来,我最近首次更新了我的 ruby​​ 版本。在我的开发机器上,我发现我需要使用 bundle install 为每个应用程序重新安装 bundler 和所有 gem。

现在,当我登录到生产服务器时,我注意到我的主文件夹 ~/ruby-build 和 .rbenv/plugins 中有一个 ruby​​-build 目录。如何找出我的服务器正在使用哪一个,以及运行 git pull 并安装新版本的 ruby​​ 的哪一个?我可以删除 ~/ruby-build 中的目录并处理另一个目录吗?进行一些探索后,我发现我的服务器上的 usr/local/bin 中也有一个 ruby​​-build,但这不是一个目录。

我完全被这一切弄糊涂了。Rbenv 位于我的主目录中,而不是服务器上的任何系统目录中。这有关系吗?即使我没有登录,它如何在服务器上仍然工作?

从服务器上的主目录运行 rbenv 版本会报告“当前未安装程序 'rbenv'”,但会列出我的开发笔记本电脑上安装的版本。

我在服务器上的 .bashrc 在顶部包含此条目

if [ -d "${RBENV_ROOT}" ]; then
  export PATH="${RBENV_ROOT}/bin:${PATH}"
  eval "$(rbenv init -)"
fi

我的开发笔记本电脑上的 .bashrc 在底部包含此条目。

export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)"
4

1 回答 1

0

由于您将其包含在 . 中.bashrc,我想如果您要echo $RBENV_ROOT在终端中,您会发现哪个 rbenv 目录是正在使用的目录。

虽然,您说该rbenv命令不起作用,所以可能$RBENV_ROOT没有定义。在这种情况下,你可以简单地RBENV_ROOT=$HOME/.rbenv/在那个条件之前做一些事情——或者你喜欢的任何事情——来设置它应该使用的 rbenv 目录。

当您这样做时,要定义$RBENV_ROOT,重新登录以使更改生效,或使用 .re-source 重新获取.bashrc文件source ~/.bashrc

于 2013-01-28T23:38:20.133 回答