任何人请帮助..
如何修复以下错误:
dyld: Library not loaded: /usr/local/lib/libgdbm.4.dylib
Referenced from: /usr/local/bin/zsh
Reason: image not found
答案 0 :(得分:110)
简单的重新安装zsh将帮助您:
brew reinstall zsh && brew unlink zsh && brew link zsh
或者,您可以尝试升级zsh
brew upgrade zsh
答案 1 :(得分:41)
在这个派对上晚了,但是只是跑步
brew upgrade zsh
解决了我在MacOS High Sierra上的问题。尝试卸载gdbm
会引发对zsh
和python
的依赖错误,并且重新做符号链接也不能解决我
答案 2 :(得分:8)
我怀疑在MacOSX上使用Homebrew时遇到了问题。我实际上是在说这个,因为我遇到了完全相同的情况。
在安装了Homebrew之后将我的MacOSX版本从Mountain Lion升级到Maverick后出现问题(当然这可能适用于之前和将来的升级)。升级后,您还需要:
在Homebrew上运行更新
brew update
运行Homebrew软件包的常规升级
brew upgrade
确保您的安装没有任何其他问题
brew医生
最后,您可能会发现某些软件包由于缺少库而失败,这似乎就是您所描述的情况。这里的想法是使用 brew 命令重新安装缺少的库。
在您的情况下,您需要通过在终端上执行后续步骤来重新安装 gdbm 库:
brew uninstall gdbm
brew install gdbm
那应该解决它。
答案 3 :(得分:5)
为了能够修复我的terminal / iterm2 / hyper(由于zsh损坏而导致所有损坏),我必须首先将终端设置“ Shells open with”从自定义命令更改为默认登录Shell。
没有这些更改,我无法在终端中键入任何内容,并且iterm2和hyper在启动后立即崩溃。
有了这些更改,我能够按照De_Vano和C.Nivs的其他答案中的建议,通过自制程序更新我的zsh,所有这三个应用程序再次按预期工作。就我而言,简单升级zsh就足够了。无需重新安装和取消链接。
答案 4 :(得分:3)
搜索了很长时间之后,它为我解决了这个问题:
brew reinstall ncurses
答案 5 :(得分:0)
我遇到了同样的问题,无法在启动时更改终端。
我最终执行了以下步骤来解决该问题:
在我的Mac上创建一个新用户并为其启用远程登录。
使用新用户登录,该用户拥有一个新的工作Shell。
使用chsh命令将我的原始帐户的外壳改回bash。
使用brew升级zsh。
成功了!
答案 6 :(得分:0)
如果您在iTerm2中遇到问题。
您只需更改外壳的路径即可。只需转到iTerm2>>Preferences>>profile>>General>>command
点击下拉菜单,然后选择Command
并输入命令
/bin/zsh
这对我有用
答案 7 :(得分:0)
执行此命令
chsh -s /bin/zsh
答案 8 :(得分:0)
此错误是由“ncurses”引发的
如果您在没有任何系统管理器(如 Conda)的情况下使用 OSX,请尝试:
brew reinstall ncurses
如果您使用的是 Conda,请激活您的环境并尝试以下操作:
conda install -y conda-forge::ncurses
祝你好运