Ich arbeite mit Yosemite (10.10.3) und möchte ein Upgrade bash
(auf Version 4.x) durchführen und habe diesen Beitrag gefunden . Nach brew update
habe ich getan brew install bash
, aber erhalten:
==> Downloading https://homebrew.bintray.com/bottles/bash-4.3.33.yosemite.bottle.tar.gz
######################################################################## 100.0%
==> Pouring bash-4.3.33.yosemite.bottle.tar.gz
==> Caveats
In order to use this build of bash as your login shell,
it must be added to /etc/shells.
Error: An unexpected error occurred during the `brew link` step
The formula built, but is not symlinked into /usr/local
Permission denied - /usr/local/share/locale/af
Error: Permission denied - /usr/local/share/locale/af
Wie kann ich das beheben? Ich habe cd
hineingeblättert, /usr/local/share/locale
aber das Verzeichnis af
existiert nicht. Warum versucht Brew darauf zuzugreifen?
Aktualisieren
Ich habe vergessen zu sagen, wenn ich verwende sudo brew install bash
, erhalte ich:
Error: Cowardly refusing to `sudo brew install`
You can use brew with sudo, but only if the brew executable is owned by root.
However, this is both not recommended and completely unsupported so do so at
your own risk.
Sie müssen sicher sein, dass die Gruppe von /usr/local
und alles darin enthalten ist admin
(ich nehme an, Ihr Benutzername gehört auch zur admin
Gruppe). Wenn dies nicht der Fall ist, beheben Sie es mit:
sudo chown -R $USER:admin /usr/local
Sie müssen wahrscheinlich dasselbe tun bei /Library/Caches/Homebrew
:
sudo chown -R $USER:admin /Library/Caches/Homebrew
brew install bash
gab Warning: bash-4.3.33 already installed, it's just not linked
. Aber brew link bash
gab Linking /usr/local/Cellar/bash/4.3.33... Error: Permission denied - /usr/local/share/locale/af
. Wie ich in meinem Beitrag sagte, existiert der Unterordner af
von /usr/local/share/locale
nicht. Soll ich es erstellen? Warum will Brew dort installieren/linken?brew uninstall bash
und dann brew install bash
.Error: An unexpected error occurred during the 'brew link' step
wegen des Fehlers "Erlaubnis verweigert"). Ich habe viele Dinge mit Brew installiert und es hat immer funktioniert. Aber das Unterverzeichnis af
wurde anscheinend nie erstellt./usr/local
zu testen, ob Sie dort Berechtigungen haben?brew install bash --force
). Dies sollte alle zuvor kopierten Dateien ersetzen.Warning: bash-4.3.33 already installed, it's just not linked
und wenn ich dies tue brew link bash
, wird der Fehler "Berechtigung verweigert" erneut angezeigt. Ich habe dann af
von Hand erstellt. brew hat nach LC_MESSAGES gesucht, also habe ich das einfach aus dem Unterverzeichnis kopiert de
. Musste ihm Schreibrechte geben, aber dann habe ich die gleiche Warnung erhalten, dass die Erlaubnis verweigert wurde, jetzt für /usr/local/share/locale/bg
... hmmm ... es scheint, dass dies Ländercodes sind ... Ich frage mich, wie viele ich vermisse ...brew doctor
und der erste Eintrag sagte das Warning: Some directories in /usr/local/share/locale aren't writable. This can happen if you "sudo make install" software that isn't managed by Homebrew. If a brew tries to add locale information to one of these directories, then the install will fail during the link step. You should probably 'chown' them
... aber @Froggard schlug vor, das nicht zu tun ...cd /usr/local/; sudo chown -R your-username *
. Dann bash neu installieren.sudo bash -c "echo /usr/local/bin/bash >> /private/etc/shells"
(für alle, die sich dafür interessieren)Diese Linie:
sudo chown -R $USER:admin /usr/local
Hat für mich funktioniert.
mdpc
William T. Froggard