重新安装Homebrew的最佳/最安全方法是什么?


77

我在Homebrew中遇到权限问题:安装Node并尝试使用curl命令Homebrew告诉您使用npm安装npm后,由于EACCESS错误,它将失败。我检查了节点文件夹,权限是:a)用户不拥有(我必须把它扔掉)和b)没有写权限(我必须对chmod 755进行修改)。

我已经解决了NPM的问题,但是我不得不将其安装脚本作为sudo运行(这很糟糕!)。

我以为我必须以root或类似的身份安装Homebrew。我希望重新安装可以解决此问题,但是找不到如何重新安装Homebrew的源。

当我在终端中重新运行安装程序时,我得到:

/usr/local/.git already exists!

我做了运行与根酿造的同样的错误,管理做来解决问题sudo chown -R johndoe /usr/local/Library,并sudo chgrp -R admin /usr/local/Library
gerrytan

我搞砸了/ usr / local / bin / brew bash脚本,从字面上丢失了该脚本中的代码,然后重新运行安装脚本来修复它。
Devin G Rhode

Answers:


38

尝试运行命令 brew doctor ,让我们知道您获得了什么样的输出


编辑:并回答标题问题,这是从他们的常见问题解答

Homebrew不会在其前缀之外写入文件。因此,通常您只能rm -rf将其安装在其中的文件夹中。

因此,最好重新安装(遵循他们最新的建议步骤),然后再重新安装。


唯一的问题是我的Xcode已过时。但是,当我运行“酿造安装节点”后,对node_modules文件夹的权限就不合时宜了。我将其添加到我的问题中,因为也许我正在寻找错误的答案。
AndrewKS 2012年

嗯,可能会引起一系列问题。有什么理由不更新Xcode(以及用于Xcode的命令行工具)吗?
kayge 2012年

这是一个很小的跳跃-从3.2.4到3.2.6,而且我没有时间和带宽来下载整个4 GB的文件(今晚将在整个晚上进行)
AndrewKS 2012年

关于您的答案的问题-小桶呢?看来,如果我只是rm -rf桶,将会有一堆破碎的符号链接。例如。“哪个节点”返回“ / usr / local / bin / node”,这是到Homebrew酒窖中的node命令的符号链接。
AndrewKS 2012年

1
请注意,“您在其中安装的文件夹”通常是/usr/local,并且用户很可能在那里安装了Homebrew以外的其他东西,因为这是安装自定义Unix实用程序的标准位置。我将Homebrew/usr/homebrew专门安装到其自己的目录中,因此很容易删除它并进行重建,但是brew doctor它警告说,非标准的安装位置可能会引起问题。到现在为止还挺好。
尼尔森

101

更新10/11/2020以反映最新的酿造更改。

Brew 已经提供了卸载自身的命令:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall.sh)"

如果由于权限而无法运行此命令(例如以第二用户身份运行),请再次使用sudo运行

然后,您可以再次安装:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"

jenkins $ ruby​​ -e“ $(curl -fsSL raw.githubusercontent.com/Homebrew/install/master/install)”该脚本要求用户是管理员。jenkins $ sudo ruby​​ -e“ $(curl -fsSL raw.githubusercontent.com/Homebrew/install/master/install)”密码:不要以root用户身份运行!
Sazzad Hissain Khan

Istalling给出了错误“此脚本要求用户是管理员”。尽管用户已经是管理员。请帮忙。
Sazzad Hissain Khan

这应该是答案!
trusktr

2
值得注意的是:运行卸载脚本将完全破坏您曾经使用Homebrew进行安装的所有内容。
阿德里安

1
上面的install命令已被弃用。试试/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Anggrayudi H

49

过程是清理然后使用以下命令重新安装:

rm -rf /usr/local/Cellar /usr/local/.git && brew cleanup
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install )"

笔记:


3
这对我来说几乎够了。我还必须运行: brew doctor 并遵循其建议,包括运行 brew prune 修剪步骤对于我而言是至关重要的一步。显然,brew clean并没有从/ usr / local / bin中删除所有无效的符号链接,brew install inkscape结果确实造成了混乱。
2014年


错误,This script requires the user to be an Administrator.尽管用户已经是管理员。你能帮忙吗?
Sazzad Hissain Khan

它很奇怪。我已经安装了HomeBrew,并且命令brew正在运行,但是我没有Cellar文件夹。
Nijat2018 '18

1
安装链接现在也使用bash:bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
kip2

10

对于Mac OS X Mojave及更高版本

要卸载Homebrew,请运行以下命令:

sudo ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

要安装Homebrew,请运行以下命令:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

并且,如果遇到权限被拒绝的问题,请尝试运行此命令,然后再次运行install命令:

sudo chown -R $(whoami):admin /usr/local/* && sudo chmod -R g+rwx /usr/local/*

根据raw.githubusercontent.com/Homebrew/install/master/install上的安装链接,他们现在使用bash代替ruby -e,因此安装命令现在为:bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
kip2

仍然必须删除/ usr / local / Homebrew才能完全卸载。
Justin Geeslin

8

重新安装Homebrew的方法是完全将其删除并重新开始。该家酿常见问题有一个链接到一个shell脚本来卸载自制。

如果您安装的唯一东西/usr/local是自制软件,则可以rm -rf /usr/local/* /usr/local/.git清除它。但是,这/usr/local/是所有其他二进制文件(不仅仅是Homebrew)的标准Unix目录,因此您可能还安装了其他东西。在那种情况下uninstall_homebrew.sh是更好的选择。请注意,仅删除自制软件的文件,其余文件不要理会。


我建议阅读上面链接的Homebrew常见问题解答,其中有关于如何最好和安全地重新安装的书面文档。
Atari

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.