在全新安装 OS X 后,我决定以正确的方式安装 Python 包管理器。因此我开始谷歌搜索,发现 homebrew 是最好的方式。现在我有两个问题:
- 来自自制常见问题解答:
Homebrew 的设计目的在于无需使用 sudo 即可运行。
但是安装脚本要求输入密码。这是因为实际用户被授予作为管理员组成员读取、写入、执行 usr/local... 目录的权限。因此,homebrew 不会每次都询问 sudo,而是只询问一次。然而,由于您必须使用 sudo yes 或 yes,因此规则被打破了。
我害怕在安装软件包时使用 sudo 和 python。这就是我决定使用 homebrew 的原因。但实际上不是一样吗?
如果这是真的,我认为让自制程序做它们想做的事情是不安全的,因为它们有 root 权限。
- 来自自制常见问题解答:
/usr/local/bin 已经在您的 PATH 中。
那我为什么需要
将 Homebrew 目录插入到 PATH 顶部
正如http://docs.python-guide.org/en/latest/starting/install/osx/?
homebrew 安装脚本执行的命令:
/usr/bin/sudo /bin/chmod g+rwx /usr/local/. /usr/local/include /usr/local/lib /usr/local/lib/pkgconfig
/usr/bin/sudo /usr/bin/chgrp admin /usr/local/. /usr/local/include /usr/local/lib /usr/local/lib/pkgconfig
答案1
他们说要把它放在/usr/local/bin/
你的顶部,$PATH
这样自制程序就会在系统程序之前被找到。例如,如果你使用自制版本的python,系统程序将在unless之前/usr/bin/python
被调用/usr/local/bin/python
/usr/local/bin
前 /usr/bin
在你的$PATH
,即使/usr/local/bin
已经在你的$PATH
。
答案2
哇哦,谁说安装的程序有 root 权限?sudo
用于授予你写入受保护目录的权限,以便您可以将内容安装到系统文件夹中。您安装的程序不会神奇地继承根权限。它们像所有程序一样以它们应该具有的任何权限进行安装。使用安装sudo
不会提升已安装文件的权限。
至于$PATH
,如果 homebrew 已经安装到/usr/local/bin
并且已经在您的中,$PATH
那么您根本不需要执行任何事情。