首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当我不知道哪个程序被用来安装Ruby时,如何升级Ruby版本?

当我不知道哪个程序被用来安装Ruby时,如何升级Ruby版本?
EN

Stack Overflow用户
提问于 2020-01-07 19:33:26
回答 2查看 1.4K关注 0票数 1

我想在OS上升级ruby,但是当我运行brew upgrade ruby时,我得到了Error: ruby not installed。当我运行which ruby时,我得到了/usr/bin/ruby,所以我知道我的系统上存在ruby,但是我假设错误意味着我没有通过Homebrew安装它。

我想知道的是:

1) /usr/bin/ruby存在但brew upgrade ruby生成Error: ruby not installed这一事实是否正确?这意味着安装了Error: ruby not installed,但安装时使用的工具不是国产的?

2)如果是这样的话,我如何才能知道Ruby是如何/在我的系统上安装的呢?

3)我应该如何升级Ruby?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-01-07 19:42:56

/usr/bin/ruby存在但brew upgrade ruby生成Error: ruby not installed这一事实是否正确?这意味着已经安装了Ruby,但安装时使用的工具不是Homebrew?

是。

如果是这样的话,我如何才能知道Ruby是如何在我的系统上安装的呢?

它附带了OS (目前而言)。不过,苹果计划对此表示反对,请参阅这里

我应该如何升级Ruby呢?

这是基于意见的,但是我会用brew来管理它,这意味着你也需要brew install ruby它。要确保使用brew installed ruby而不是系统ruby,可以添加以下内容:

代码语言:javascript
运行
复制
export PATH=/usr/local/opt/ruby/bin:/usr/local/lib/ruby/gems/2.6.0/bin:${PATH}

敬你的~/.bash_profile。具体来说,您需要添加(a) brew将提供ruby及其所有相关可执行文件的路径,以及(b)通过gem安装可执行文件的路径。

对于(a),查看brew info ruby的输出,例如,我得到:

代码语言:javascript
运行
复制
...

If you need to have ruby first in your PATH run:
  echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.bash_profile

...

因此,在路径中添加了/usr/local/opt/ruby/bin。如果您ls该目录,您将不仅看到ruby可执行文件,而且还会看到irbgembundlerake和其他一些文件。因此,当您运行bundle installgem install时,就会使用它。

对于(b)项,您需要知道安装的创业板可执行文件放在哪里。gem env命令可以帮助您实现以下目标:

代码语言:javascript
运行
复制
$ gem env | grep 'EXECUTABLE DIRECTORY'
  - EXECUTABLE DIRECTORY: /usr/local/lib/ruby/gems/2.6.0/bin

因此,在我的/usr/local/lib/ruby/gems/2.6.0/bin中添加了第二条路径,$PATH到我的$PATH

票数 5
EN

Stack Overflow用户

发布于 2020-01-07 19:40:48

使用which ruby,您已经发现在/usr/bin/ruby的path中安装了ruby。

很可能这是到可执行文件的实际位置的符号链接。您可以通过readlink /usr/bin/ruby跟踪它。希望,它在一个文件夹中,可以清楚地知道安装了什么。如果没有,那么找出它的希望不大,但至少您知道所有的文件都在哪里来清理它。

然后我会安装RVM并重新开始。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59634969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档