为什么Mac OS X在预装的轨道上安装了ruby和ruby?操作系统是否真的使用它?我可以安全地更新我的Ruby,Rails或Gem版本吗?为什么Mac OS X带有ruby/rails?
回答
正如其他人所指出的,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,Fink或Homebrew,其中每个都有自己的软件包管理器和安装位置。
+1,这是正确的答案。 – 2010-12-16 14:21:02
没有操作系统不使用,只是苹果希望让她的产品更吸引开发者。 (还有一些Python预装了一些其他数据包)。
您可以安全地更新您的Ruby,Rails,Gems,但默认的Ruby版本有点过时。检查RVM,以便您可以在系统中安装不同的红宝石
您如何知道Apple不使用Ruby,Python,Perl或TCL?根据我的检查,系统使用所有四种语言:请尝试'找到* .py | grep ^/usr | grep -v/System'和它们的标准扩展。 – 2010-12-16 14:18:13
如果您想在不干扰现有版本的情况下使用更新的环境,请考虑Rubystack。免责声明,我是RubyStack的开发人员之一。它可以在开源的Apache 2.0许可下免费获得。
每次提到产品时都应该公开你与公司的关系。否则,它在这里被认为是垃圾邮件。 – 2011-08-03 17:27:17
我在其他大多数问题中都这样做了,并且在我的个人资料中也清楚地说明了这一点。 BitNami并不是一家公司,我们也没有为这些堆栈赚钱(尽管它是由一家公司赞助的,我们还向Sugar,Alfresco等其他开源公司提供支持和服务)。无论如何,我现在已经更新了我的回复。此外,我认为没有必要减少答案,因为它与这个主题直接相关。 – 2011-08-03 21:01:43
我没有downvote。垃圾邮件标志就是这样的。一段时间后,它会消失,你更新了答案。但请注意,您确实应在每个答案中指定您的联属关系,但将其放在您的个人资料中是不够的,因此您应该检查所有推荐您产品的答案是否包含免责声明 – 2011-08-03 23:46:59
- 1. 键盘映射 - Mac OS X和Mac OS X 10.5+之间有什么区别?
- 2. Mac OS X带有哪些Java版本?
- 3. OS X上的AIO与Linux - 为什么它不能在Mac OS X上运行
- 4. 单为Mac OS X小牛
- 5. CNContact为Mac OS X 10.11
- 6. VLCKit为MAC OS X 10.7
- 7. _finddata_t,_findfirst,_findnext为Mac OS-X
- 8. lrzsz没有在Mac OS X
- 9. 在Mac OS X
- 10. Mac OS X Linker
- 11. 在Mac OS X
- 12. 在Mac OS X
- 13. Mac OS X PackageMaker
- 14. Mac OS X - Objective C运行时 - 什么,哪里,什么时候?
- 15. 为什么(Mac OS X)android模拟器网络断开连接?
- 16. 为什么lsof不显示libstdC++在Mac OS X上加载?
- 17. 为什么ServiceStack Razor FileSystemWatcher不能在Mono + Mac OS X上运行?
- 18. 为什么“opengl软件”不能在Mac OS X Matlab上工作?
- 19. 为什么Perlbrew在Mac OS X Lion上启动bash?
- 20. 为什么在Mac OS X上找不到此库?
- 21. 为什么Rake会使我的Mac OS X崩溃?
- 22. 为什么Mac OS X上的Python time.time()和time.clock()存在差异?
- 23. 为什么Mac OS X中的Mach-O库需要install_name_tool和otool?
- 24. 为什么sysctl在Mac OS X上生成E_INVAL?
- 25. 什么JRE在Mac OS X上的Eclipse中设置为JDK7u4?
- 26. 为什么H2 1.1.117在Mac OS X上性能较差?
- 27. 为什么我的Perl程序在Mac OS X Lion上冻结?
- 28. “env”和“set”(在Mac OS X或Linux上)有什么区别?
- 29. Mac OS X上的mmap系统调用有什么问题?
- 30. unix,BSD,Mac OS X,linux和GNU之间有什么关系?
它还附带安装了python。 – Toad 2010-08-13 07:46:04
...和tcl。和perl。 – 2010-08-13 18:49:34
你可以更新这些东西,但是,因为没有回归或集成测试,所以你无法知道是否搞砸了系统依赖的某些东西。试试我选择的答案下面的评论中列出的命令,你会看到Apple依赖于语言;他们不是为了我们的快乐而完全没有。 @Ned Deily建议小心谨慎,并建议处理它的替代方法。我还建议使用[RVM](http://rvm.beginrescueend.com/)来处理这件杂事。 – 2010-12-16 14:26:09