使用 Rubygems 进行开发时应该将 gems 安装到哪里?
题
如果你不安装 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
与以往一样。