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

.gem/ruby/1.8/gems/

如果您确实通过以下方式安装 sudo, ,我的理解是它们通常放置在系统目录中,如下所示:

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

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

我的印象是你会 sudo install gems 因为如果你作为用户 鲍勃 将宝石安装在里面 鲍勃的目录,然后像 www-data 这样的用户(Ubuntu Linux 上的 Passenger/Apache 在提供文件时使用)来使用它们 - 这是您这样使用它们的唯一原因吗?

或者现在最好的做法是使用类似的东西 Ruby 版本管理器 现在呢?

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

有帮助吗?

解决方案

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

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

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

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top