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 文件不可写,所以我为 autojump 创建了目录~/.local/share/autojump 。 现在, autojump --add 没问题,但 j 不可用。

然后从问题 #178 我发现,我的 .zshrc 应该包含 autojump 的 etc 文件,然后我将它添加到我的 .zshrc 文件中

source $HOME/homebrew/Cellar/autojump/21.1.2/etc/autojump.zsh

最后,autojump 是可行的,但是,我不知道,如果这么麻烦是因为什么。 可能是有一个错误,或者可能有人和我遇到同样的问题。 我希望这会有所帮助。

needs-info os-mac shell-zsh

最有用的评论

尝试将其添加到您的 .zshrc 中:

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

所有11条评论

zsh 是你的默认 shell 吗? 我遇到了自动跳转无法正常工作的问题,因为 bash 是我的默认 shell,但我使用的是 zsh。 运行echo $SHELL什么?

是的,zsh 是默认 shell。

$ echo $SHELL
/bin/zsh

尝试将其添加到您的 .zshrc 中:

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

有同样的问题。 奇怪的是,我已经使用chsh -s /bin/zsh更改了我的默认 shell,当我打开终端时它成功地将我登录到一个新的 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.

我使用 autojump 已经很长时间了,它一直运行良好。 我刚刚对所有自制软件进行了大量更新,但它打破了上述描述的方式。 我深入研究了\ brew --prefix /etc/发现不是通用的可执行文件( autojump ),现在每种类型的外壳都有可执行文件( autojump.shautojump.zshautojump.fishautojump.bash )。 一旦我更新了我的 .zshrc 文件中的设置行(正如上面其他人提到的),它工作得很好:

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

诀窍是使用zsh ,因为我使用 zsh 作为我的默认 shell。 我意识到此问题已关闭,但希望对遇到此问题的任何人都有帮助。

只是为了澄清一直存在多个包装壳文件( autojump.bashautojump.zsh等)。 但是autojump.sh应该可以智能地找出您实际使用的外壳并加载正确的文件。

@jbranchaudautojump.sh的行为最近发生了变化。 如果您无法正确加载autojump.sh ,您可以使用您正在使用的 autojump 版本打开一张票吗?

尝试将其添加到您的 .zshrc 中:

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

这个为我解决了。 莫哈韦沙漠,zsh 5.3,自动跳转 22.5.3

此页面是否有帮助?
0 / 5 - 0 等级