我的 OS X Lion 10.7.2 上有一个管理员帐户。我通过此帐户安装了一些应用程序,但没有 sudo 就无法运行它们。例如,我安装了 git,但我无法简单地git
从终端运行,因为我得到
-bash:git:未找到命令
相反,我需要跑步sudo git
。
我在其他应用程序中也遇到了类似的问题。另一个无法正常工作的应用程序是尝试使用 的 MacFusion.app /Applications/Macfusion.app/Contents/PlugIns/sshfs.mfplugin/Contents/Resources/sshfs-static
。我尝试sshfs-static
从终端运行,但再次必须使用 sudo 才能使其正常工作。
有什么建议么?
答案1
/usr/local
在 OS X 的默认安装中不使用,通常由您的用户拥有,因为您将创建并填充它。流行的包管理器自制将设置权限并使用它,而无需 root 权限。
如果它归 所有,并且缺少您的用户的执行/读取权限,则(或)root
中的命令仅在使用 调用时才有效。/usr/local/bin
/usr/local/git/bin
sudo
为了修复这个问题,重新获得所有权/usr/local
:
sudo chown -R $(whoami) /usr/local
至于为什么会发生这种情况,我只能猜测 git-osx-installer 将权限重置/usr/local
为更严格的权限。一些错误报告提到了这一点。
答案2
除了接受的答案,这表明:
为了修复这个问题,请再次取得 /usr/local 的所有权:
sudo chown -R $(whoami) /usr/local
我必须在终端中运行以下两行才能使 Git 在没有 sudo 的情况下运行:
echo "PATH=/usr/local/git/bin:\$PATH" >> ~/.bash_profile
source ~/.bash_profile
来源:在没有 Xcode 的 OSX 10.8 上安装 git
希望这可以帮助。