Autojump: zsh:コマンドが見つかりません:j

作成日 2013年03月22日  ·  11コメント  ·  ソース: wting/autojump

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

最後に、オートジャンプは機能しますが、何が原因でそれほど問題が発生するのかはわかりません。 バグがあるかもしれませんし、誰かが私と同じ問題に直面しているかもしれません。 これがお役に立てば幸いです。

needs-info os-mac shell-zsh

最も参考になるコメント

これを.zshrcに追加してみてください。

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

全てのコメント11件

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.zshautojump.fishautojump.bash )。 .zshrcファイルのセットアップ行を更新すると(他の人が上で述べたように)、それはうまく機能しました:

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

秘訣は、デフォルトのシェルとしてzshを使用しているため、

明確にするために、常に複数のラッパーシェルファイル( autojump.bashautojump.zshなど)がありました。 ただし、 autojump.shは、実際に使用しているシェルをインテリジェントに把握し、適切なファイルをロードすることになっています。

@jbranchaudautojump.shの動作は比較的最近変更されました。 autojump.shで正しくロードできない場合、使用しているオートジャンプのバージョンでチケットを開くことができますか?

これを.zshrcに追加してみてください。

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

これは私のためにそれを解決しました。 Mojave、zsh 5.3、autojump 22.5.3

このページは役に立ちましたか?
0 / 5 - 0 評価