2010-08-13 186 views
30

为什么Mac OS X在预装的轨道上安装了ruby和ruby?操作系统是否真的使用它?我可以安全地更新我的Ruby,Rails或Gem版本吗?为什么Mac OS X带有ruby/rails?

+3

它还附带安装了python。 – Toad 2010-08-13 07:46:04

+3

...和tcl。和perl。 – 2010-08-13 18:49:34

+0

你可以更新这些东西,但是,因为没有回归或集成测试,所以你无法知道是否搞砸了系统依赖的某些东西。试试我选择的答案下面的评论中列出的命令,你会看到Apple依赖于语言;他们不是为了我们的快乐而完全没有。 @Ned Deily建议小心谨慎,并建议处理它的替代方法。我还建议使用[RVM](http://rvm.beginrescueend.com/)来处理这件杂事。 – 2010-12-16 14:26:09

回答

52

正如其他人所指出的,OS X带有预先安装的各种开源软件包。虽然这可以是一个很好的方便,但是软件包通常只是作为主要OS X版本(如10.5到10.6)的一部分更新到新版本。另外,有些软件包在OS X的其他部分被其他地方使用,并且没有简单的方法知道它们。一般来说,苹果公司假设(你也应该),/System/Library/usr/,除了/usr/local/之外的所有东西都是OS X的一部分,由Apple管理。您不应该尝试删除或修改这些层次结构中的文件。这包括几乎所有的开源软件包,包括Ruby

相反,为了升级现有包,正确的方法是在一个单独的位置安装一个新版本(比如说,/usr/local/),并通过绝对路径参考(/usr/local/bin/ruby)或操纵壳PATH调用新版本环境变量,如有必要。如果直接从源代码安装,经常使用/usr/local/。许多人更喜欢使用第三方开源软件包分销商之一,如MacPorts,FinkHomebrew,其中每个都有自己的软件包管理器和安装位置。

+2

+1,这是正确的答案。 – 2010-12-16 14:21:02

7

没有操作系统不使用,只是苹果希望让她的产品更吸引开发者。 (还有一些Python预装了一些其他数据包)。

您可以安全地更新您的Ruby,Rails,Gems,但默认的Ruby版本有点过时。检查RVM,以便您可以在系统中安装不同的红宝石

+9

您如何知道Apple不使用Ruby,Python,Perl或TCL?根据我的检查,系统使用所有四种语言:请尝试'找到* .py | grep ^/usr | grep -v/System'和它们的标准扩展。 – 2010-12-16 14:18:13

1

如果您想在不干扰现有版本的情况下使用更新的环境,请考虑Rubystack。免责声明,我是RubyStack的开发人员之一。它可以在开源的Apache 2.0许可下免费获得。

+1

每次提到产品时都应该公开你与公司的关系。否则,它在这里被认为是垃圾邮件。 – 2011-08-03 17:27:17

+0

我在其他大多数问题中都这样做了,并且在我的个人资料中也清楚地说明了这一点。 BitNami并不是一家公司,我们也没有为这些堆栈赚钱(尽管它是由一家公司赞助的,我们还向Sugar,Alfresco等其他开源公司提供支持和服务)。无论如何,我现在已经更新了我的回复。此外,我认为没有必要减少答案,因为它与这个主题直接相关。 – 2011-08-03 21:01:43

+1

我没有downvote。垃圾邮件标志就是这样的。一段时间后,它会消失,你更新了答案。但请注意,您确实应在每个答案中指定您的联属关系,但将其放在您的个人资料中是不够的,因此您应该检查所有推荐​​您产品的答案是否包含免责声明 – 2011-08-03 23:46:59

相关问题