Ich installiere Autojump per brew, führe den Befehl aus
$ brew install autojump
Aber es gibt einige Probleme mit mir. Erstens kann ich nur den Befehl autojump
ausführen, der j
wird nicht gefunden, wenn ich ihn ausführe. Dann führe ich autojump -a ~/code
und gebe eine Fehlermeldung zurück:
File "/usr/local/bin/autojump", line 176, in save
temp = NamedTemporaryFile(dir = CONFIG_DIR, delete = False)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/tempfile.py", line 447, in NamedTemporaryFile
(fd, name) = _mkstemp_inner(dir, prefix, suffix, flags)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/tempfile.py", line 228, in _mkstemp_inner
fd = _os.open(file, flags, 0600)
OSError: [Errno 2] No such file or directory: '/Users/eward/.local/share/autojump/tmprYDreK
/Users/eward ist mein Heimatverzeichnis. Ich denke, das Problem ist, dass die tmp-Datei nicht beschreibbar ist, also erstelle ich das Verzeichnis ~/.local/share/autojump
für Autojump. Nun ist der autojump --add in Ordnung, aber j ist nicht verfügbar.
Dann finde ich aus Ausgabe #178 heraus, dass meine .zshrc-Datei die etc-Datei von Autojump enthalten sollte, und ich füge sie meiner .zshrc-Datei hinzu
source $HOME/homebrew/Cellar/autojump/21.1.2/etc/autojump.zsh
Final, Autojump ist Arbeit, aber ich weiß nicht, ob so viel Ärger woran liegt. Vielleicht liegt ein Fehler vor oder jemand hat das gleiche Problem mit mir. Ich hoffe, das kann hilfreich sein.
Ist zsh Ihre Standard-Shell? Ich hatte ein Problem, bei dem Autojump nicht richtig funktionierte, weil bash meine Standard-Shell war, ich aber zsh verwendet habe. Was erhalten Sie, wenn Sie echo $SHELL
ausführen?
ja, zsh ist die Standard-Shell.
$ echo $SHELL
/bin/zsh
Versuchen Sie, dies zu Ihrer .zshrc hinzuzufügen:
[[ -s `brew --prefix`/etc/autojump.sh ]] && . `brew --prefix`/etc/autojump.sh
Habe das gleiche Problem. Seltsamerweise habe ich meine Standard-Shell mit chsh -s /bin/zsh
geändert, die mich erfolgreich in eine neue zsh-Sitzung einloggt, wenn ich Terminal öffne, aber wenn ich echo $SHELL
ausführe, wird /bin/bash
.
Die Homebrew-Formel wurde vor kurzem aktualisiert, könnt ihr sie neu installieren und sehen, ob ihr die gleichen Probleme habt?
Neuinstallation ist in Ordnung, kein Problem, danke.
Ich habe dieses Problem tatsächlich auch ... zsh ist Standard, 'autojump' funktioniert, während 'j' nicht gefunden wird. Gerade aktualisiert und installiert, ohne Erfolg. .zshrc-Add-In führt zu:
Autojump: Verzeichnis '' nicht gefunden
Versuchen Sie autojump --help
für weitere Informationen.
Habe das gleiche Problem mit maxwerr.
/bin/zsh
und ich füge dies zu meiner .zshrc hinzu:
[[ -s `brew --prefix`/etc/autojump.sh ]] && . `brew --prefix`/etc/autojump.sh
wenn Anruf j:
autojump: directory '' not found
Try `autojump --help` for more information.
Ich habe schon lange Autojump und es hat immer gut funktioniert. Ich habe gerade ein riesiges Update aller Homebrew-Sachen gemacht und es ist auf die oben beschriebene Weise kaputt gegangen. Ich habe in das \
brew --prefix /etc/
gegraben, um herauszufinden, dass es anstelle einer generischen ausführbaren Datei ( autojump
) jetzt ausführbare Dateien für jeden Shell-Typ gibt ( autojump.sh
, autojump.zsh
, autojump.fish
, autojump.bash
). Nachdem ich die Setup-Zeile in meiner .zshrc-Datei aktualisiert hatte (wie andere oben erwähnt haben), hat es großartig funktioniert:
[[ -s `brew --prefix`/etc/autojump.zsh ]] && . `brew --prefix`/etc/autojump.zsh
Der Trick bestand darin, die zsh- Shell zu verwenden, da ich zsh als meine Standard-Shell verwende. Mir ist klar, dass dieses Problem geschlossen ist, aber das hilft hoffentlich jedem, der auf dieses Problem stößt.
Nur um das klarzustellen, dass es immer mehrere Wrapper-Shell-Dateien gegeben hat ( autojump.bash
, autojump.zsh
, etc). autojump.sh
soll jedoch intelligent herausfinden, welche Shell Sie tatsächlich verwenden und die richtige Datei laden.
@jbranchaud : Das Verhalten von autojump.sh
hat sich vor relativ kurzer Zeit geändert. Wenn Sie mit autojump.sh
nicht richtig laden können, könnten Sie ein Ticket mit der von Ihnen verwendeten Autojump-Version öffnen?
Versuchen Sie, dies zu Ihrer .zshrc hinzuzufügen:
[[ -s `brew --prefix`/etc/autojump.sh ]] && . `brew --prefix`/etc/autojump.sh
dieser hat es für mich gelöst. Mojave, zsh 5.3, Autojump 22.5.3
Hilfreichster Kommentar
Versuchen Sie, dies zu Ihrer .zshrc hinzuzufügen: