Autojump: zsh: Befehl nicht gefunden: j

Erstellt am 22. März 2013  ·  11Kommentare  ·  Quelle: wting/autojump

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.

needs-info os-mac shell-zsh

Hilfreichster Kommentar

Versuchen Sie, dies zu Ihrer .zshrc hinzuzufügen:

[[ -s `brew --prefix`/etc/autojump.sh ]] && . `brew --prefix`/etc/autojump.sh

Alle 11 Kommentare

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

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen

Verwandte Themen

srid picture srid  ·  14Kommentare

hcsaustrup picture hcsaustrup  ·  9Kommentare

qazip picture qazip  ·  3Kommentare

rsparkyc picture rsparkyc  ·  11Kommentare

pgrm picture pgrm  ·  4Kommentare