我通过 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 是可行的,但是,我不知道,如果这么麻烦是因为什么。 可能是有一个错误,或者可能有人和我遇到同样的问题。 我希望这会有所帮助。
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.sh
、 autojump.zsh
、 autojump.fish
、 autojump.bash
)。 一旦我更新了我的 .zshrc 文件中的设置行(正如上面其他人提到的),它工作得很好:
[[ -s `brew --prefix`/etc/autojump.zsh ]] && . `brew --prefix`/etc/autojump.zsh
诀窍是使用zsh ,因为我使用 zsh 作为我的默认 shell。 我意识到此问题已关闭,但希望对遇到此问题的任何人都有帮助。
只是为了澄清一直存在多个包装壳文件( autojump.bash
、 autojump.zsh
等)。 但是autojump.sh
应该可以智能地找出您实际使用的外壳并加载正确的文件。
@jbranchaud : autojump.sh
的行为最近发生了变化。 如果您无法正确加载autojump.sh
,您可以使用您正在使用的 autojump 版本打开一张票吗?
尝试将其添加到您的 .zshrc 中:
[[ -s `brew --prefix`/etc/autojump.sh ]] && . `brew --prefix`/etc/autojump.sh
这个为我解决了。 莫哈韦沙漠,zsh 5.3,自动跳转 22.5.3
最有用的评论
尝试将其添加到您的 .zshrc 中: