在 OS X 上,没有 sudo 就无法运行“git”

在 OS X 上,没有 sudo 就无法运行“git”

我的 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/binsudo

为了修复这个问题,重新获得所有权/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

希望这可以帮助。

相关内容