ios - dyld:未加载库:libperl.dylib 引用自:perl5.18

标签 ios xcode perl dyld perlbrew

我在我的 xcode 中遇到 dyld Library not found 错误。

dyld: Library not loaded: /System/Library/Perl/5.18/darwin-thread-multi-2level/CORE/libperl.dylib Referenced from: /usr/bin/perl5.18

所以我尝试按如下方式重新安装 perl。但是当下载它时,我在终端中收到以下错误消息

Setting Perl 5.16.0 to default bash: line 94: perlbrew: command not found

所以我尝试按如下方式安装 perlbrew,

\curl -L https://install.perlbrew.pl | bash

但它提供了相同的 dyld 错误消息,如下所示,

dyld: Library not loaded: /System/Library/Perl/5.18/darwin-thread-multi-2level/CORE/libperl.dylib Referenced from: /usr/bin/perl5.18

我怎样才能解决这个问题?

最佳答案

我自己刚才也遇到了同样的错误,这是我解决的方法。

TLDR:

  • 通过运行 git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow 然后运行 ​​brew update 来更新自制程序
  • 然后使用 brew outdated 搜索任何过期的软件包
  • 然后重新安装任何/所有过时的软件包(如果它们给您带来任何问题)
  • 2023 更新:Homebrew 现在默认会自动执行所有这些步骤,因此,如果您只需运行 brew upgrade <package>,brew 就会更新自身,并更新请求的包,然后更新它找到的任何其他过时的包
<小时/>

背景:所以,我昨晚更新了我的 Mac 操作系统 (Big Sur)。今天早上我打开它,非常低调,并尝试在 vim (Macvim) 中打开一个文本文件。我收到一条与上面的错误消息相同的错误消息。这是我的完整错误消息。

dyld: Library not loaded: /System/Library/Perl/5.28/darwin-thread-multi-2level/CORE/libperl.dylib
  Referenced from: /usr/local/Cellar/macvim/8.2-171/MacVim.app/Contents/MacOS/Vim
  Reason: image not found
Abort trap: 6

这个堆栈帖子(您正在阅读的那个)是我搜索错误时的第一个结果。我注意到 OP 在 Xcode 中发现了这个问题,所以我知道这个问题比我的具体情况更普遍,并且(显然)与 macOS 更新有关。

我做的第一件事就是根据 this 网页的建议更新我的 Homebrew。

注意:更新 Homebrew 时,brew 首先警告我,从现在开始我需要先运行此命令:

git -C /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core fetch --unshallow

然后你只需运行:

brew update

如果您没有安装 Homebrew,那么一定要这样做 here

更新后,Brew(以其通常的风格)告诉我,我的几个“公式”已经过时了。所以我跑了:

brew outdated

它返回了一个过时软件包的列表,其中一个是 macvim。

所以,更新brew后,我运行了

brew upgrade macvim

这解决了我的问题。

我发布这个答案是为了帮助任何遇到同样问题的人,因为你可能会在 Xcode 之外的其他地方遇到错误,而且很明显这个问题很可能是在更新操作系统之后,苹果决定搞乱 lib地点。

更新后,在你继续追赶你的尾部之前,请检查你的所有软件是否都是最新的。

感谢 appuals 为这个问题提供了最明智的解决方案。我不相信任何功劳。

注意:如果您的问题来自 Xcode,那么您可能需要更新 Xcode,最好通过 App Store 进行更新。

关于ios - dyld:未加载库:libperl.dylib 引用自:perl5.18,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39675929/

相关文章:

javascript - 清除搜索字段后,如何将 <div> 重置回 AJAX 响应之前的状态?

ios - 使用 Swift 将录音上传到 Firebase

javascript - stringByEvaluatingJavaScriptFromString 如何重入?

ios - 使用Xcode在iPad上比在iPhone上放大字体

perl - 如何从 localtime() 中提取时区

arrays - 在 perl 中使用 [] 定义时无法比较数组

ios - 在 ion-slides ionic 组件上显示寻呼机点

objective-c - 使用不兼容类型 ' ... *__strong' 的表达式初始化 'id<UIApplicationDelegate> _Nullable'

xcode - UISwipeGestureRecognizer 的替代品?

objective-c - Objective-C : Background & Frame Issue During Orientation Change