我是 Linux 的新手用户,正在使用 Linux mint 17.1
我在过去 3 天内重新安装了 Linux Mint 20 次来解决这个问题,但无法修复它
我正在尝试使用 rvm 在 Rails 上安装 ruby 发生的情况是,如果开始新的 Linux 安装并尝试在一个终端会话中安装 gems 和 ruby 等内容,一旦我关闭终端会话,它就会成功安装,但我无法获取这些 gem 。
在过去的 3 天内,我重新安装了 20 多次,我也在网上进行了搜索。我被告知将环境变量放入/etc/environment
该会话中的回显路径中并将其粘贴到/etc/environment
文件中。
即使现在我也没有得到我安装的宝石
当我输入时rvm -v
出现以下错误
Warning: PATH set to RVM ruby but GEM_HOME and/or GEM_PATH not set, see:
https://github.com/wayneeseguin/rvm/issues/3212
Warning! PATH is not properly set up, $GEM_HOME is not set,
usually this is caused by shell initialization files - check them for 'PATH=...' entries,
it might also help to re-add RVM to your dotfiles: 'rvm get stable --auto-dotfiles',
to fix temporarily in this shell session run: 'rvm use ruby-2.2.2'.
rvm 1.26.11 (latest) by Wayne E. Seguin <[email protected]>, Michal Papis <[email protected]> [https://rvm.io/]
在使用终端方面,我是一个非常新手,我可以运行一些基本命令来使用 ruby。
我想知道
- 如何设置路径
- 如何设置GEM_HOME
- 如何设置 GEM_PATH
以下是我的完整路径
echo $PATH
/home/sharif/.rvm/gems/ruby-2.2.2/bin:/home/sharif/.rvm/gems/ruby-2.2.2@global/bin:/home/sharif/.rvm/rubies/ruby-2.2.2/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/sharif/.rvm/bin
答案1
听起来你想要export
设置环境变量的命令:
export PATH=$PATH':/path/to/add'
export GEM_HOME=$HOME/.gem
export GEM_PATH=$HOME/.gem
不过,这仅对当前会话生效。为了使它们更加永久,请将这些行添加到您的~/.bashrc
.
答案2
通常这意味着 rvm 设置不正确。通常的错误是您没有.bashrc
正确修改(或类似)或者没有重新加载终端。
使用 rvm 时不应手动设置 GEM_HOME 或 GEM_PATH。
你可以尝试source ~/.rvm/scripts/rvm
看看是否有效。
也可能是您尚未构建宝石集。不要使用 rvm 和 sudo。当 Rvm 安装在您的帐户而不是系统范围内时,效果最佳。
答案3
以下是我学到的知识以及如何解决 GEM_HOME 和 GEM_PATH 环境变量未设置错误这一看似常见的问题。
背景
RVM 安装应该为每个安装的 RVM 创建 GEM_HOME 和 GEM_PATH 环境变量,并且它会执行此操作。但显然存在一个错误,在某些情况下,环境变量只是临时设置的,要再次设置它们,您必须使用命令行来设置它们。我找到了一种解决方法,可以使环境变量在 RVM 中持续存在。
解决方法
找到您的活动(在 RVM 中)Ruby 版本:在生产服务器上,转到您的应用程序目录并输入
$rvm list
.这将生成已安装的 Ruby 版本的列表,以及哪个版本对于 RVM 是活动的。响应示例:rvm rubies ruby-1.9.3-p547 [ x86_64 ] => ruby-1.9.3-p551 [ x86_64 ]
所以,我知道 RVM 当前正在使用版本ruby-1.9.3-p551
.您需要此信息进行下一步。
获取 GEM_PATH 和 GEM_HOME 的路径:您可以通过从命令行执行来完成此操作
$rvm use ruby-1.9.3-p551
。然后仍然从命令行使用命令显示所有环境设置env
。搜索 GEM_PATH 和 GEM_HOME 并将它们全部复制到工作区。GEM_PATH=/usr/local/rvm/gems/ruby-1.9.3-p551:/usr/local/rvm/gems/ruby-1.9.3-p551@global GEM_HOME=/usr/local/rvm/gems/ruby-1.9.3-p551
设置 GEM_HOME 和 GEM_PATH 环境变量:现在,在众多配置文件之一中设置这些环境变量。我想维护 RVM 版本隔离结构,因此我用这两行更新了 /profile.d/appspecic.sh:
export GEM_PATH=/usr/local/rvm/gems/ruby-1.9.3-p551:/usr/local/rvm/gems/ruby-1.9.3-p551@global export GEM_HOME=/usr/local/rvm/gems/ruby-1.9.3-p551
答案4
就像@coteyr提到的,你不应该手动设置创业板_HOME和宝石路径使用时rvm
。如果您通过运行检查 PATH 环境变量,$ echo $PATH
并且 $HOME/.rvm/bin 是其中的一部分,那么您需要确保您的终端作为登录 shell 运行命令。例如,如果您使用的是 Ubuntu 计算机,请打开终端,然后转到:菜单 > 编辑 > 配置文件首选项 > 命令然后选择“作为登录 shell 运行命令”
这似乎是一个老问题,rvm
我认为解决这个问题并不容易,因为它已经存在了一段时间。