brewでautojumpをインストールし、コマンドを実行します
$ brew install autojump
しかし、私にはいくつか問題があります。 まず、コマンドautojump
しか実行できません。実行しても、 j
が見つかりません。 次に、 autojump -a ~/code
を実行し、エラーメッセージを返します。
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は私のホームディレクトリです。 問題は、tmpファイルが書き込めないことだと思うので、自動ジャンプ用にdir ~/.local/share/autojump
を作成します。 これで、autojump --addは問題ありませんが、jは使用できません。
次に、問題#178から、.zshrcにautojumpのetcファイルを含める必要があることがわかり、それを.zshrcファイルに追加します。
source $HOME/homebrew/Cellar/autojump/21.1.2/etc/autojump.zsh
最後に、オートジャンプは機能しますが、何が原因でそれほど問題が発生するのかはわかりません。 バグがあるかもしれませんし、誰かが私と同じ問題に直面しているかもしれません。 これがお役に立てば幸いです。
zshはデフォルトのシェルですか? bashがデフォルトのシェルであるため、自動ジャンプが正しく機能しないという問題がありましたが、zshを使用していました。 echo $SHELL
を実行すると何が得られますか?
はい、zshがデフォルトのシェルです。
$ echo $SHELL
/bin/zsh
これを.zshrcに追加してみてください。
[[ -s `brew --prefix`/etc/autojump.sh ]] && . `brew --prefix`/etc/autojump.sh
同じ問題を抱えています。 不思議なことに、 chsh -s /bin/zsh
を使用してデフォルトのシェルを変更しました。これにより、ターミナルを開いたときに新しいzshセッションに正常にログインできますが、 echo $SHELL
を実行すると、 /bin/bash
ます。
Homebrewの数式が最近更新されましたが、再インストールして同じ問題が発生するかどうかを確認できますか?
再インストールは問題ありません、問題ありません、ありがとう。
私も実際にこの問題を抱えています... zshがデフォルトで、「autojump」は機能しますが、「j」は見つかりません。 更新してインストールしただけで無駄になります。 .zshrcアドインの結果は次のとおりです。
自動ジャンプ:ディレクトリ ''が見つかりません
詳細についてautojump --help
、
maxwerrでも同じ問題が発生しました。
/bin/zsh
これを.zshrcに追加します。
[[ -s `brew --prefix`/etc/autojump.sh ]] && . `brew --prefix`/etc/autojump.sh
jを呼び出すとき:
autojump: directory '' not found
Try `autojump --help` for more information.
私は長い間オートジャンプをしてきました、そしてそれはいつもうまくいきました。 私はすべての自作のものの巨大な更新をちょうどしました、そしてそれは上で説明されている方法で壊れました。 \
brew --prefix /etc/
を掘り下げて、汎用実行可能ファイル( autojump
)の代わりに、各タイプのシェル( autojump.sh
)の実行可能ファイルがあることを確認しました。 autojump.zsh
、 autojump.fish
、 autojump.bash
)。 .zshrcファイルのセットアップ行を更新すると(他の人が上で述べたように)、それはうまく機能しました:
[[ -s `brew --prefix`/etc/autojump.zsh ]] && . `brew --prefix`/etc/autojump.zsh
秘訣は、デフォルトのシェルとしてzshを使用しているため、
明確にするために、常に複数のラッパーシェルファイル( autojump.bash
、 autojump.zsh
など)がありました。 ただし、 autojump.sh
は、実際に使用しているシェルをインテリジェントに把握し、適切なファイルをロードすることになっています。
@jbranchaud : autojump.sh
の動作は比較的最近変更されました。 autojump.sh
で正しくロードできない場合、使用しているオートジャンプのバージョンでチケットを開くことができますか?
これを.zshrcに追加してみてください。
[[ -s `brew --prefix`/etc/autojump.sh ]] && . `brew --prefix`/etc/autojump.sh
これは私のためにそれを解決しました。 Mojave、zsh 5.3、autojump 22.5.3
最も参考になるコメント
これを.zshrcに追加してみてください。