3

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

现在,每当我运行bundle. 做了一些搜索,发现我的问题有两个相反的答案,一个告诉我使用 sudo 安装(安装 gems 时停止询问密码),另一个不告诉我(为什么 rvm install 2.0.0 要求输入 sudo 密码?)。

我不知道我在做什么。

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

这一切都没有任何意义,如果有人能在这里救我,我会很高兴的。

我是否使用卸载 RVMrvm implode并重新启动?即使我已经使用 Ruby 安装了一些 gem,我的系统 Ruby 还可以sudo吗?


根据要求,这是我的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/
4

3 回答 3

11

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

解决这个问题很容易,并且不会影响您机器上的其他任何东西。从命令行运行:

sudo chown -R tjobbeandrews:staff ~/.rvm

这是它的作用:

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

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

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

于 2013-10-16T18:12:06.077 回答
2

系统会要求您输入密码,因为保存 gem 的目录归 root 所有。

输入时找到列为 GEM PATHS 的文件夹

    gem environment

在控制台中,然后对该文件夹执行 chown -R ,使它们归您的用户和组所有。这应该会阻止每次出现密码提示。

于 2013-10-15T18:12:07.250 回答
0

It is perfectly safe to log out as root, log in as a regular user and reinstall. RVM is environment specific. Just make sure that the global bashrc (or bash_profile) doesn't have the rvm lines in it, it should only be in your standard users bash files to set up your env.

于 2013-10-15T17:59:00.673 回答