Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby:gem安装在错误的目录中_Ruby_Ubuntu_Gem_Rvm - Fatal编程技术网

Ruby:gem安装在错误的目录中

Ruby:gem安装在错误的目录中,ruby,ubuntu,gem,rvm,Ruby,Ubuntu,Gem,Rvm,我对Linux(使用Ubuntu10.10)相当陌生。我在尝试将Rails 3.0.5安装到正确的gem目录时遇到一些问题 我有一个Ruby(1.8.7)的根安装,这是我偶然安装的(可能附带了一个gem版本),还有一个RVM,我特意安装它来管理Ruby版本。我可以使用RVM默认我的Ruby版本,没有问题 但当我尝试使用命令安装rails时: gem install rails 它在根gems目录上安装rails,该目录为:/var/lib/gems/1.8/gems 但是我想在RVM目录中安装

我对Linux(使用Ubuntu10.10)相当陌生。我在尝试将Rails 3.0.5安装到正确的gem目录时遇到一些问题

我有一个Ruby(1.8.7)的根安装,这是我偶然安装的(可能附带了一个gem版本),还有一个RVM,我特意安装它来管理Ruby版本。我可以使用RVM默认我的Ruby版本,没有问题

但当我尝试使用命令安装rails时:

gem install rails
它在根gems目录上安装rails,该目录为:
/var/lib/gems/1.8/gems

但是我想在RVM目录中安装rails:
/.RVM/rubies/ruby-1.9.2-p180/lib/ruby/gems/1.9.1/gems

一些方法,即使在做了
sudo之后,也能得到purge rubygems
。坏宝石还在那里。我通过执行
确定gem在哪里(正确的功能?)。返回
/usr/bin/gem1.8/usr/bin/gem/usr/share/man/man1/gem.1.gz

现在,我如何摆脱坏的gem并在RVM中安装正确的gem

顺便说一句,我的GEM_路径是
/home/me/.rvm/gems/ruby-1.9.2-p180@rails3:/home/me/.rvm/gems/ruby-1.9.2-p180@global:
这使得这一点更加神秘

如有任何建议,我们将不胜感激

谢谢
:)

如果要在RVM目录中安装rails,只需运行以下命令:

安装导轨


有两件事可能是错误的:

  • 您的默认解释器不是您所认为的:
  • 确保运行:
    rvm——默认使用1.9.2

    在这次运行之后:
    ruby-v
    ,以确保您确实拥有正确的ruby作为默认ruby。如果您这样做,那么
    gem安装rails
    应该可以正常工作

  • 您的ruby解释器未正确安装(或RVM本身未正确安装-不太可能):

  • 可能是您的rvm安装不正确,尽管这不太可能。更有可能是您的ruby解释器安装不正确。我建议卸载然后重新安装,在安装时仔细观察编译并安装解释器时的任何错误/警告,然后安装RVM默认安装的gems(rake、rubygems)。您可能会在其中一个步骤中看到错误,这可能意味着您缺少ruby或gems正确安装所需的库。

    我最终删除了所有与ruby/rvm/gems相关的内容并重新开始。我使用rvm(非sudo)安装所有东西,并确保所有ruby gems都位于我的用户目录下的.rvm目录中。

    如果
    rvm——默认使用1.9.2
    会出现以下错误:

    RVM is not a function, selecting rubies with 'rvm use ...' will not work.
    
    这意味着您不需要使用登录shell,或者必须先登录。

    找到了这个解决方案,好的,在对它进行了更多的修改之后:通过执行
    sudo-apt-get-purge-rubygems
    卸载了根Ruby(1.8.7)。我本应该摆脱糟糕的ruby/gem,但不,不知何故,我的系统1.3.7和1.5.2中仍然有两个版本的gem(其中一个可能来自JRuby或其他我没有接触过的东西)。有人能告诉我,安装RVM时,gem的正确目录是哪个吗?在~/.rvm?或者类似/var的东西?