0

如果您不在sudoMac 上安装 gems,默认情况下它们将被放置在类似的目录中

.gem/ruby/1.8/gems/

如果您使用 with 进行安装sudo,我的理解是它们通常放置在系统目录中,如下所示:

 /usr/local/lib/ruby/gems/1.8/gems/

sudo除了简单地让其他人与您共享之外,您是否有充分的理由应该安装 gems ?*

我的印象是你会 sudo install gems 因为如果你作为用户bob将 gems 安装在bob的目录中,那么像 www-data 之类的用户(在提供文件时由 Ubuntu Linux 上的乘客 / Apache 使用),使用它们 - 这是您这样使用它们的唯一原因吗?

或者现在最好的做法是现在使用Ruby Version Manager之类的东西?

我真的很高兴听到一些更有经验的 ruby​​ 开发人员告诉我你的存储位置和原因。

4

2 回答 2

1

使用 sudo 运行 gem install 意味着您以管理员用户身份运行安装,因此将为整个系统安装它。如果您以普通用户身份运行,它只会将 gems 放在您的主目录中。

对于您的开发机器或服务器,/usr/local/lib/ruby/gems/1.8/gems/ 几乎可以肯定是放置 gem 的正确位置。如果您使用某种共享主机或使用某些 gem 的开发版本,请务必将它们保存在您的主目录中,这样您就不会为其他用户弄乱系统。

我以前没有听说过 Ruby 版本管理器。我会检查一下。

于 2009-10-22T21:56:02.353 回答
0

AFAIK,Ruby 版本管理器 (RVM) 的目标更多是让在同一台机器上使用多个 Ruby 版本(1.8.6、1.8.7、1.9.1、MRI、JRuby 等)变得简单。由于许多 gem 包含特定于版本和/或编译的元素,因此可能需要在这些 Ruby 版本中使用不同的 gem 版本。RVM 允许您切换 Ruby 环境,但在该环境中您将[sudo] gem install一如既往。

于 2009-10-23T09:30:48.420 回答