2013-03-11 37 views
4

每当我捆绑我的Rails 3.2的宝石时,问我要我的密码:别再问了密码,安装宝石

输入密码以安装捆绑的RubyGems到系统

这得到真的很烦人,特别是在一个项目中捆绑多次时。但是,当我将gem目录设置为世界可读时,它在执行任何(!)rails命令时总是给我一个警告。当然,这更令人讨厌。

如何关闭此功能?

+0

你在运行什么系统? Mac,Linux,...窗户? – 2013-03-11 02:10:43

+0

Mac OS X 10.8.2 – weltschmerz 2013-03-11 02:13:49

+1

我在安装RVM时并没有遇到这些问题,因为我正在编写这个用户。当你以root身份安装(或者使用'sudo')时,他们比比皆是。 – bdares 2013-03-11 02:21:17

回答

3

绝对与系统红宝石有关,而不是RVM,,除非您使用多用户安装类型安装了RVM。如果你这样做,其仍然要求你输入密码,然后您安装为根严格反对什么上市文件指出,和你的普通用户没有添加到“RVM”组的安装程序创建。 (注:这是基于你要一个多用户安装的想法,不是一个单一的用户之一,如果你想在单用户安装,不前缀使用sudo当你运行安装程序。)

撕裂了RVM,注销,然后回(确保环境的完全新鲜重新初始化),然后重新运行安装程序命令作为普通用户,而不是root,与“须藤”的文件指示前缀。

如果你不安装RVM,然后按照文件在https://rvm.io安装既可以作为单个用户安装,或作为多用户安装。在这种情况下,如果没有安装RVM,Billy Chan在上面描述的是您的修复方法,不过我会建议您通过确定需要定期运行哪一组命令(gem bin名称)来收紧规则,添加sudoers文件中的条目(visudo)。

现在读你想使用该系统的红宝石,其中* RVM确实控制问题(它只是允许您通过设置适当的GEM_PATH访问它,RUBY_ *环境变量等),或您的RVM多用户安装不正确。

+0

谢谢!我确实使用RVM,但不知道是否以root身份安装。那是什么意思?我如何知道? – weltschmerz 2013-03-12 04:44:44

+1

我正在使用rbenv,并且遇到此问题。 – 2013-10-21 00:07:57

0

最好的方法:使用RVM。使用RVM,您可以直接运行gem <any command>而不添加sudo

如果您不想使用RVM,仍然可以在命令之前添加sudo。你也可以设置为防止sudo通过询问密码的所有命令:

$ sudo EDITOR=vim visudo 
# or any editor in your system 

然后,加入以下行

username ALL=(ALL) NOPASSWD: ALL 
# Where username must be replaced by your real username in system 

我知道这可能不是安全的编辑文档,但它的方便在我自己的机器上使用。

你可以像我一样使用上述两种方法。

0

这取决于您是否要在系统或用户下安装宝石。如果在您当前的用户下,您可以简单地打开此消息并通过调整捆绑器配置来询问。

在文件中添加.bundle/config线项目

BUNDLE_DISABLE_SHARED_GEMS: '1' 

所以整个配置文件可以像

--- 
BUNDLE_WITHOUT: development:test 
BUNDLE_DISABLE_SHARED_GEMS: '1' 
BUNDLE_PATH: /home/youruser/gems/ 
10
# install gem with the specified path 
bundle install --path vendor/bundle 
+1

这是唯一可以帮助已经使用正确用户的人。谢了哥们! – 2013-11-25 02:10:08

0

我有这个问题与我的导轨安装。一个快速的解决方法,这是跳过像这样的项目创建过程中捆绑安装:

rails new webapp -B 

然后你就可以这样做:

cd webapp/ 
mkdir -p vendor/bundle 
bundle install --path vendor/bundle 

希望有所帮助将来的查询。