Запуск `nano` використовує старий nano (2.0.6), навіть якщо nano 3.0 встановлений


1

Я встановив nano 3.0 з brew install nano, але коли я запускаю nano --version, він показує версію 2.0.6, яка є у комплекті з macOS.

Знімок екрана: введіть тут опис зображення

echo $PATHтакож показує, що /usr/local/binперераховано раніше/usr/bin

Як зробити так, щоб nanoвикористовувати версію 3.0, а не 2.0.6?

Це не допомагає, оскільки нано вже є /usr/local/binі /usr/local/binперераховане перше у $PATHта /etc/paths.


4
Ви не наносите нічого використовувати "нано". Ви запускаєте виконуваний файл з оболонки. Bash зберігає хеш, де знаходяться бінарні файли, якщо ви введете 'type nano', і він показує вам систему, перезавантажте оболонку або використовуйте команду 'hash -r', щоб змусити оболонку повторно хешувати шляхи. Також "cat / etc / paths" є безглуздим, замість цього "echo $ PATH".
Марк Вілсон

1
@MarcWilson Дякую Чи можете ви опублікувати hash -rрішення як відповідь, щоб я міг його прийняти?
abc

/etc/pathsНе має великого значення, це просто шаблон для створення вашої PATHзмінної env, яку згодом можна буде змінити. Тож варто скоріше перевірити вихідecho $PATH
Michał Szajbe

Ви спробували перезапустити свій термінальний сеанс?
Michał Szajbe

Відповіді:


2

Ви не наносите нічого використовувати "нано". Ви запускаєте виконуваний файл з оболонки. Bash зберігає хеш-код, де знаходяться бінарні файли. Якщо ви вводите type nano, і він показує вам систему, перезавантажте оболонку або скористайтеся командою, hash -rщоб змусити оболонку повторно хешувати шляхи. Крім того, cat /etc/pathsбезглуздо, натомість echo $PATH.


0

Використовуйте команду консолі, which nanoщоб визначити, яку копію nanoоболонки знаходить під час проходження вашої $PATH.

echo $PATHщоб побачити, що в $PATHданий час містить.

Якщо ви даєте явну посилання на файл, який ви хочете виконати, оболонка, звичайно, виконає цей файл. В іншому випадку він здійснить пошук $PATH, і whichкоманда дає вам результат цього процесу пошуку.


Оболонки зберігають історію попередніх команд запуску та проконсультуються з цим списком перед пошуком $ PATH. Коментар Марка Вілсона - правильна відповідь.
fd0

Тепер я ніколи цього не чув! Чи можете ви, будь ласка, вказати мені на посилання, скажімо в man bash, яке підтверджує це? (У моїй системі man-page каже команду zippety-doo-dah zilch про команду.)
Майк Робінсон,

Ви можете почати з help hashсвоєї bashоболонки та з Довідкового керівництва Bash-Bash uses a hash table to remember the full pathnames of executable files to avoid multiple PATH searches
fd0

1
Дякую за відповідь, але я вже спробував це, і це не вийшло. Коментар Марка Вілсона спрацював, тому я просто чекаю, коли він опублікує його як відповідь, щоб я міг його прийняти.
abc

0

Перевірте псевдоніми. Можливо, ви встановили свій псевдонім nano, щоб вказати на стару версію nano

$ alias
alias firefox='open -a /Applications/Firefox.app'
alias itune='open -a /Applications/iTunes.app'
alias safari='open -a /Applications/Safari.app'
alias showhidden='ls -al | grep '\''@'\'' | grep -v '\''.DS_Store'\'''
alias showpath='set | grep "^PATH="'
alias textedit='open -e '
alias tofu='open -a /Applications/Tofu.app'
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.