На macOS давно и без проблем пользуюсь fasd. Недавно я сделал комбинацию обновлений из старой версии macOS и старой версии fasd. Теперь fasd не работает должным образом:
eval "$(fasd --init auto)"
выполняется без ошибок, и, похоже, у fasd есть версия. Если файл ~/.fasd
еще не существует, fasd создает его. Но fasd никогда не записывает в этот файл, и его размер всегда равен 0 байтам.
MacBook-Air:~/$ ls .fasd
ls: .fasd: No such file or directory
MacBook-Air:~/$ fasd --version
1.0.1
MacBook-Air:~/$ cd Downloads
MacBook-Air:Downloads/$ cd
MacBook-Air:~/$ ls .fasd
-rw------- 1 henry staff 0B Aug 23 15:12 .fasd
MacBook-Air:~/$ cd Pictures
MacBook-Air:Pictures/$ cd ..
MacBook-Air:~/$ ls .fasd
-rw------- 1 henry staff 0B Aug 23 15:12 .fasd
Привет, я бы посоветовал предоставить дополнительную информацию, как описано в разделе « Отладка » README. Ваша проблема может быстро возникнуть у людей, которые знают, что искать, но им нужно что-то делать.
Мне также любопытно, что вы получаете, когда запускаете echo $_FASD_RO
- если это непустая строка, тогда fasd не будет писать в свою базу данных.
Благодарю за ваш ответ! Я не видел раздела «Отладка» и не знал о _FASD_SINK
.
Оказалось, что виновата устаревшая версия awk (на самом деле gawk, как и я на macOS).
Я запустил brew upgrade gawk
и fasd
теперь работает должным образом. Спасибо за помощь!
MacBook-Air:~/$ cat .fasd.log
fasd -U -V fasd -K _fasd_zsh_cmd_complete -x 'C[-1,-*e] , s[-] n[1,e]' -c - 'c[-1,-A][-1,-D]' -f
fasd_cd -U -V fasd -K _fasd_zsh_cmd_complete -x 'C[-1,-*e] , s[-] n[1,e]' -c - 'c[-1,-A][-1,-D]' -f
COMMAND -c -tn
DEFAULT -f -tn
FIRST
/usr/local/bin/fasd: line 341: -v: command not found
MacBook-Air:~/$ which fasd
/usr/local/bin/fasd
MacBook-Air:~/$ vim /usr/local/bin/fasd
MacBook-Air:~/$ echo $_FASD_AWK
MacBook-Air:~/$ echo $_FASD_AWK
MacBook-Air:~/$ awk
dyld: Library not loaded: /usr/local/opt/mpfr/lib/libmpfr.4.dylib
Referenced from: /usr/local/bin/awk
Reason: image not found
[1] 59913 abort awk
MacBook-Air:~/$ brew search mpfr
==> Formulae
mpfr ✔
==> Casks
mpfreaker
MacBook-Air:~/$ gawk
dyld: Library not loaded: /usr/local/opt/mpfr/lib/libmpfr.4.dylib
Referenced from: /usr/local/bin/gawk
Reason: image not found
[1] 61358 abort gawk
MacBook-Air:~/$ brew upgrade gawk
Updating Homebrew...
...
==> Upgrading 1 outdated package, with result:
gawk 4.1.4_1 -> 4.2.1
==> Upgrading gawk
==> Downloading https://homebrew.bintray.com/bottles/gawk-4.2.1.high_sierra.bott
######################################################################## 100.0%
==> Pouring gawk-4.2.1.high_sierra.bottle.tar.gz
🍺 /usr/local/Cellar/gawk/4.2.1: 85 files, 4.7MB
MacBook-Air:~/$ gawk
Usage: gawk [POSIX or GNU style options] -f progfile [--] file ...
Usage: gawk [POSIX or GNU style options] [--] 'program' file ...
POSIX options: GNU long options: (standard)
-f progfile --file=progfile
-F fs --field-separator=fs
-v var=val --assign=var=val
...
MacBook-Air:~/$ fasd
MacBook-Air:~/$ vim .fasd.log
MacBook-Air:~/$ awk
Usage: awk [POSIX or GNU style options] -f progfile [--] file ...
Usage: awk [POSIX or GNU style options] [--] 'program' file ...
POSIX options: GNU long options: (standard)
-f progfile --file=progfile
-F fs --field-separator=fs
-v var=val --assign=var=val
...
MacBook-Air:~/$ awk
Usage: awk [POSIX or GNU style options] -f progfile [--] file ...
Usage: awk [POSIX or GNU style options] [--] 'program' file ...
POSIX options: GNU long options: (standard)
-f progfile --file=progfile
-F fs --field-separator=fs
-v var=val --assign=var=val
...
MacBook-Air:~/$ fasd
6 /home/henry/.fasd.log
Спасибо, у меня тоже была ошибка line 457: -v: command not found
и brew upgrade gawk
исправил это!
Самый полезный комментарий
Благодарю за ваш ответ! Я не видел раздела «Отладка» и не знал о
_FASD_SINK
.Оказалось, что виновата устаревшая версия awk (на самом деле gawk, как и я на macOS).
Я запустил
brew upgrade gawk
иfasd
теперь работает должным образом. Спасибо за помощь!