Neues NANO (2.4) mit BREW installieren, aber immer noch alte Versionen verwenden (symbolischer Link nicht erstellt?)

Ich habe NANO 2.4 installiert, aber mein OS X verwendet immer noch 2.0. Ich glaube, es hat etwas mit dem symbolischen Link zu tun, der nicht erstellt wurde.

Ich habe zuerst auf Homebrew/Dupes getippt, damit ich Nano brauen und installieren kann

~  brew tap homebrew/dupes
==> Tapping homebrew/dupes

~  brew install nano
==> Installing nano from homebrew/homebrew-dupes

Wenn ich eine mache

which nano

Ich bekomme

/usr/bin/nano

aber das Gebräu wurde im Verzeichnis unten installiert und ich habe es als 2.4 bestätigt, indem ich das Programm direkt von hier aus ausführe

/usr/local/Cellar/nano/2.4.2_1/bin

Ich denke, es wurde kein symbolischer Link erstellt, da Nano bereits in Mac OS X enthalten ist. Ist es sicher, ihn zu überschreiben?

Ich bekam die folgende Warnung auf der Brew-Installation aus

==> Downloading https://ftp.gnu.org/gnu/ncurses/ncurses-6.0.tar.gz
######################################################################## 100.0%
==> ./configure --prefix=/usr/local/Cellar/ncurses/6.0 --enable-pc-files --enable
==> make install
==> Caveats This formula is keg-only, which means it was not symlinked into /usr/local.

OS X already provides this software and installing another version in
parallel can cause all kinds of trouble.

Generally there are no consequences of this for you. If you build your
own software and it requires this formula, you'll need to add to your
build variables:

    LDFLAGS:  -L/usr/local/opt/ncurses/lib
    CPPFLAGS: -I/usr/local/opt/ncurses/include

==> Summary 🍺  /usr/local/Cellar/ncurses/6.0: 1970 files, 21M, built in 114 seconds

Antworten (2)

Sie können jederzeit einen Symlink in /usr/local/binmanuell erstellen, der (abhängig von der Reihenfolge der Pfadkomponenten in $PATH) dann die Standardbinärdatei in schattiert /usr/bin. Da nanoes nur interaktiv verwendet wird, ist das Risiko, etwas kaputt zu machen, wahrscheinlich eher gering.

Hi. Ja, es scheint, dass bereits ein Symlink in /usr/local/bin existiert
31B Okt 18 10:42 nano -> ../Cellar/nano/2.4.2_1/bin/nano
aber usr/bin hat Vorrang vor /usr/local/bin
Ist die einfache Antwort hier, NANO aus /usr/bin zu entfernen? Ich habe bemerkt, dass mein Pfad zuerst /usr/local/bin hat, also weiß ich nicht, warum er ihn nicht aufnimmt echo $PATH /usr/local/bin:/usr/bin:/bin:/usr/sbin:/ Schlampe
Starten Sie dann einfach eine neue Shell, der alte Pfad wird immer noch gehasht
Verwenden Sie brew link --force nano, um den Symlink zu erstellen.
Um den Kommentar von @nohillside zu ergänzen: Oder führen Sie "hash -r" aus, um die Pfad-Hashes zu aktualisieren.

Ich hatte das gleiche Problem, der Grund war die falsche Pfadpriorität.

Um das Problem zu beheben, müssen Sie /etc/paths (globale Systemdatei) bearbeiten und /usr/local/bin vor /usr/bin setzen.

In meinem Fall war meine Pfaddatei:

/usr/bin
/bin
/usr/sbin
/sbin
/usr/local/bin

Und ich habe geändert zu:

/usr/local/bin
/usr/bin
/bin
/usr/sbin
/sbin

Speichern Sie dann die Datei und starten Sie die Terminalsitzung neu. Alles OK danach.