正确安装RVM,在安装gem时不断询问密码

时间:2013-10-15 17:41:43

标签: ruby-on-rails ruby rvm

我是一个相当新手的命令行用户,并不理解sudo的全部含义,并且一直在教自己Ruby on Rails。我最近使用RVM重新安装了Ruby和Rails,因为我遇到了很多很多问题。两周前我在一台干净的Mac OS X上做过这个。

每当我运行bundle时,我现在都有“输入密码将捆绑的RubyGems安装到您的系统”。做了一些搜索,找到了我的问题的两个相反的答案,一个告诉我使用sudo(Stop asking for password when installing gems)安装,而不是(Why rvm install 2.0.0 asks for sudo password?)安装。

我不知道我在做什么。

也许是因为我以root身份登录,我实际上并不想将它安装到我的系统中?我如何安装它,但不安装到我的系统?我如何以任何用户身份登录?

这一切都没有任何意义,如果有人能救我,我会喜欢它。

我是否使用rvm implode卸载RVM并重新开始?即使我已经使用sudo安装了一些宝石,我的系统Ruby也可以吗?


根据要求,这是我的rvm info

device-3ebf56:~ tjobbeandrews$ rvm info

    ruby-2.0.0-p247:

      system:
        uname:       "Darwin device-3ebf56 12.5.0 Darwin Kernel Version 12.5.0: Sun Sep 29 13:33:47 PDT 2013; root:xnu-2050.48.12~1/RELEASE_X86_64 x86_64"
        system:      "osx/10.8/x86_64"
        bash:        "/bin/bash => GNU bash, version 3.2.48(1)-release (x86_64-apple-darwin12)"
        zsh:         "/bin/zsh => zsh 4.3.11 (i386-apple-darwin12.0)"

      rvm:
        version:      "rvm 1.22.14 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]"
        updated:      "16 days 20 hours 12 minutes 43 seconds ago"
        path:         "/Users/tjobbeandrews/.rvm"

      ruby:
        interpreter:  "ruby"
        version:      "2.0.0p247"
        date:         "2013-06-27"
        platform:     "x86_64-darwin12.3.0"
        patchlevel:   "2013-06-27 revision 41674"
        full_version: "ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin12.3.0]"

      homes:
        gem:          "/Users/tjobbeandrews/.rvm/gems/ruby-2.0.0-p247"
        ruby:         "/Users/tjobbeandrews/.rvm/rubies/ruby-2.0.0-p247"

      binaries:
        ruby:         "/Users/tjobbeandrews/.rvm/rubies/ruby-2.0.0-p247/bin/ruby"
        irb:          "/Users/tjobbeandrews/.rvm/rubies/ruby-2.0.0-p247/bin/irb"
        gem:          "/Users/tjobbeandrews/.rvm/rubies/ruby-2.0.0-p247/bin/gem"
        rake:         "/Users/tjobbeandrews/.rvm/gems/ruby-2.0.0-p247@global/bin/rake"

      environment:
        PATH:         "/Users/tjobbeandrews/.rvm/gems/ruby-2.0.0-p247/bin:/Users/tjobbeandrews/.rvm/gems/ruby-2.0.0-p247@global/bin:/Users/tjobbeandrews/.rvm/rubies/ruby-2.0.0-p247/bin:/Users/tjobbeandrews/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin"
        GEM_HOME:     "/Users/tjobbeandrews/.rvm/gems/ruby-2.0.0-p247"
        GEM_PATH:     "/Users/tjobbeandrews/.rvm/gems/ruby-2.0.0-p247:/Users/tjobbeandrews/.rvm/gems/ruby-2.0.0-p247@global"
        MY_RUBY_HOME: "/Users/tjobbeandrews/.rvm/rubies/ruby-2.0.0-p247"
        IRBRC:        "/Users/tjobbeandrews/.rvm/rubies/ruby-2.0.0-p247/.irbrc"
        RUBYOPT:      ""
        gemset:       ""

和我的gem env

device-3ebf56:~ tjobbeandrews$ gem env
RubyGems Environment:
  - RUBYGEMS VERSION: 2.0.6
  - RUBY VERSION: 2.0.0 (2013-06-27 patchlevel 247) [x86_64-darwin12.3.0]
  - INSTALLATION DIRECTORY: /Users/tjobbeandrews/.rvm/gems/ruby-2.0.0-p247
  - RUBY EXECUTABLE: /Users/tjobbeandrews/.rvm/rubies/ruby-2.0.0-p247/bin/ruby
  - EXECUTABLE DIRECTORY: /Users/tjobbeandrews/.rvm/gems/ruby-2.0.0-p247/bin
  - RUBYGEMS PLATFORMS:
    - ruby
    - x86_64-darwin-12
  - GEM PATHS:
     - /Users/tjobbeandrews/.rvm/gems/ruby-2.0.0-p247
     - /Users/tjobbeandrews/.rvm/gems/ruby-2.0.0-p247@global
  - GEM CONFIGURATION:
     - :update_sources => true
     - :verbose => true
     - :backtrace => false
     - :bulk_threshold => 1000
  - REMOTE SOURCES:
     - https://rubygems.org/

3 个答案:

答案 0 :(得分:10)

看起来您的RVM和Rubygems环境设置正常。问题很可能是你在某些时候使用sudo安装了一些东西,现在它已经在你的RVM安装中留下了痕迹。

要解决此问题非常简单,不应影响您计算机上的任何其他内容。从命令行运行:

sudo chown -R tjobbeandrews:staff ~/.rvm

以下是它的作用:

  • sudo将您的权限升级为“root”,允许您更改“root”当前拥有的内容。
  • chown -R tjobbeandrews:staff ~/.rvm告诉系统更改〜/ .rvm目录中所有文件的所有权和组,这是RVM存储所有内容的地方,返回给您以及默认组应该是什么。

请严格按照您在互联网上找到的说明进行操作,尤其是当他们要求您以“root”或使用sudo执行任何操作时。以root身份进行更改可能会在一秒钟内导致系统崩溃,可能会为感染/病毒打开大门,或者造成持久性问题,导致您的生活变得悲惨,因为作者多年前就写过,而且事情发生了变化。

“互联网永远不会忘记”是真的,这是一个巨大的知识垃圾场,可以在几天内过时。你应该自己教育什么是安全的,以及如何安全地安装东西,更重要的是,知道如何根据别人的说法从你所做的改变中恢复过来,所以,小心行走padawan。

答案 1 :(得分:2)

您被要求输入密码,因为持有您的宝石的目录由root拥有。

输入

时,找到列为GEM PATHS的文件夹
    gem environment
在控制台中

,然后在该文件夹中输入-R,使其归您的用户和组所有。这应该会阻止密码提示每次都出现。

答案 2 :(得分:0)

以root身份注销,以普通用户身份登录并重新安装是完全安全的。 RVM是特定于环境的。只要确保全局bashrc(或bash_profile)中没有rvm行,它应该只在你的标准用户bash文件中设置你的env。