2

最近我安装了 Zshell 而不是 Bash。在此期间,然后我看到我$PATH有 7 英里长,所以我决定试着把它清理一下。当我卸载rvm(通过运行rvm implode后跟rm -rf ~/.rvm)然后重新启动终端时,我现在看到一个错误:

zshell powerline9k 错误

如果我只是按ENTER,那么错误仍然存​​在。但是,如果我执行任何其他命令,它就会消失(ls, echo, source ~/.zshrc- 你的名字)。

zshell powerline9k 错误-2

如果我重新启动iTerm(或启动新选项卡), - 然后错误再次出现。

没有显示错误,所以如果我激活另一个主题,那么我看不到是否有错误。

我的直觉告诉我,这与我的道路有关,但我不确定。我的路径比以前RVM安装的要短。

如果我重命名我的~/.zshrc-file,则Powerline9k-theme 会被停用,所以我看不到错误是否仍然出现。但我已经尝试过了......然后一个无主题的zshell就启动了。

知道如何修复它或如何调试它吗?

编辑

我刚刚意识到它实际上可能是一个遗留错误,从我运行 bash 开始, - 所以我也添加了那个标签。

4

3 回答 3

2

看看他们在 github 上的文档,相关片段在这里

解决方案:

在您的~/.zshrcfind 变量中调用POWERLEVEL9K_LEFT_PROMPT_ELEMENTS和 remove rbenv

解释:

默认值为 ,POWERLEVEL9K_LEFT_PROMPT_ELEMENTS(context dir rbenv vcs)可能rbenv是产生错误的段 - 卸载后rvm该段无法执行。

于 2017-08-10T04:33:03.790 回答
2

如果您按照您所说的执行任何命令,视觉瑕疵就会消失,如果您无法完成调试任务并可能在您的机器上导致更多问题,只需echo -n在您的末尾放置一个作为快速简便的修复.zshrc.

这个问题不值得你花时间;)

编辑:显然以上没有奏效。看评论。

如果您对调试感兴趣,一个好的起点set -xe是在每个配置的开头(在 shebang 行之后,或作为 shebang 中的标志)放置(打印正在执行的每一行并在任何非零退出的行上中止)启动新的交互式 shell 时执行的脚本。

还要考虑set -xeuo pipefail在使用未设置的 shell 变量和在管道内返回非零的命令时额外捕获和中止(例如set -e,不会中止,false | true因为整个行以 status 退出0,但-o pipefail会在这样的行上中止)。值得注意的是,这些标志是bash特性,但由于zsh是特性的超集bash,它们zsh也可以使用。

于 2017-08-10T04:39:46.320 回答
0

卸载所有使用该路径的应用程序并重新安装。这是唯一的方法。而不是 rm,您应该创建一个具有垃圾桶的别名。

于 2017-08-06T21:30:41.527 回答