我是一个相当新手的命令行用户,并不理解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/
答案 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。