【问题标题】:Other user doesn't see Ruby installed with rbenv其他用户没有看到使用 rbenv 安装的 Ruby
【发布时间】:2016-05-07 11:24:04
【问题描述】:

我已经在我的 Ubuntu 14.04 服务器上使用 rbenv 的 root 帐户安装了 Ruby。

root@droplet:~# ruby -v
ruby 2.3.1p112 (2016-04-26 revision 54768) [i686-linux]

但如果我在另一个用户下登录,我会在相同的命令后收到此消息:

The program 'ruby' can be found in the following packages:
 * ruby
 * ruby1.8

为什么其他用户看不到 Ruby 安装?我该如何解决?

我完全是新手,我可能错过了一些重要的事情。因此,如果您希望我提供有关此问题的任何其他信息,请告诉我。

【问题讨论】:

  • 我在回答中猜到了您遇到的问题。确认一下,which rbenvwhich ruby 说什么?

标签: ruby ubuntu ubuntu-14.04 rbenv


【解决方案1】:

要使用 rbenv 安装 Ruby 以便机器上的所有用户都可以使用它,您需要

  • 在公共场所安装 rbenv,例如/usr/local/rbenv
  • 在 shell 启动文件中为每个用户设置 rbenv,例如/etc/profile:

    export RBENV_ROOT=/usr/local/rbenv
    export PATH="$RBENV_ROOT/bin:$PATH"
    eval "$(rbenv init -)"
    

A blog post by Blake Williams gives details.

【讨论】:

    【解决方案2】:

    我使用rvm 而不是rbenv,所以我不熟悉rbenv。但是,我从自述文件 (https://github.com/rbenv/rbenv#locating-the-ruby-installation) 中确实知道,与 rvm 一样,它使用 shell 来管理各种 rubies。

    查看该自述文件的“基本 GitHub Checkout”部分。您可以通过执行步骤 2 到 4 使其对其他用户起作用:

    ~/.rbenv/bin 添加到您的$PATH 以访问rbenv 命令行 实用程序。

    $ echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bash_profile
    

    Ubuntu 桌面注释:修改您的 ~/.bashrc 而不是 ~/.bash_profile

    Zsh 注意:修改你的~/.zshrc 文件而不是~/.bash_profile

    运行 ~/.rbenv/bin/rbenv init 获取特定于 shell 的说明,了解如何 初始化 rbenv 以启用 shims 和自动补全。

    重新启动您的 shell 以使 PATH 更改生效。 (打开一个新的 终端选项卡通常会这样做。)现在检查是否设置了 rbenv:

    $ type rbenv
    #=> "rbenv is a function"
    

    【讨论】:

    • 这很奇怪!在我的系统上,rbenv 命令从来不是一个函数,而是.../rbenv/bin 中的一个 shim 文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-27
    • 1970-01-01
    • 2015-01-08
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 2015-07-22
    相关资源
    最近更新 更多