Apple M1 芯片上的随机“断言失败”错误

Posted

技术标签:

【中文标题】Apple M1 芯片上的随机“断言失败”错误【英文标题】:Random "Assertion failed" errors on Apple M1 chip 【发布时间】:2021-08-13 05:16:26 【问题描述】:

我刚刚从 Windows 10 切换到运行最新 Apple M1 Silicon 的 Mac OS。

这是我在 Mac 上的第一个项目,我安装了 homebrew 并用它来安装 nodeyarn

brew install node
brew install yarn
yarn global add @vue/cli

我的 Vue 项目在 Windows 和 Linux 上都运行良好,将其克隆到我的 Macbook 上,然后运行 ​​yarn 安装依赖项(照常运行),然后尝试在开发模式下运行应用程序:

yarn serve

但我每次运行yarn serve 时都会收到随机的“断言失败”错误,每次它是不同的文件,但错误消息和上下文相同:

/node_modules/axios/lib/helpers/buildURL.jsAssertion failed: (thread_id_key != 0x7777), function find_thread_id_key, file ../src/coroutine.cc, line 134.
error Command failed with signal "SIGABRT".

这是什么原因造成的?尝试谷歌搜索,但正如我所想,实际上一无所获!

【问题讨论】:

内存不足吗? @spender 实际上不是,我的内存使用量达到了 2GB 的峰值。 【参考方案1】:

我已经设法解决了这个问题。

问题在于其中一个依赖项(node-fibers)与 nodejs v16.0.0 或更高版本不兼容。

所以解决方案是卸载 node 并安装 NVM 以使用 Node v15。


首先必须卸载 Yarn & Node:

brew uninstall yarn
brew uninstall node

然后安装NVM:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash

之后我安装了 Node v15(或您喜欢的任何版本):

nvm install v15

【讨论】:

太棒了,你回来自我回答了。不错。 @spender 自从我 11 岁开始修补应用程序开发并继续帮助我 13 年以来,这是我能为社区做的最起码的事情! 我的另一个 +1 帮助像你这样的另一个修补匠:D 我唯一要补充的是,也许可以使用curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash,因为它总是会给你最新的稳定版本。

以上是关于Apple M1 芯片上的随机“断言失败”错误的主要内容,如果未能解决你的问题,请参考以下文章

运行使用 Apple M1 芯片(基于 ARM 的系统)构建的容器时出现“执行格式错误”

M1(Apple Silicon)上的 CocoaPods 因 ffi 架构错误而失败

如何在 Apple M1 芯片上导入 Pandas

在 M1 芯片上运行 rails 时出错(Apple Silicon)

快速查看 Mac 应用程序是不是与 M1兼容的方法

Flutter:如何在 Apple M1 芯片中安装 Flutter 及其所需的 SDK 元素?