【问题标题】:Nodejs with macOS: # Fatal error in , line 0 - gatsby develop带有 macOS 的 Nodejs:# Fatal error in , line 0 - gatsby develop
【发布时间】:2021-04-29 04:33:05
【问题描述】:

我正在使用 gatsby cli,即使我从头开始创建新站点,gatsby develop 命令也会突然返回错误。我正在使用带有 big sur 的 M1 macbook pro,有人遇到同样的问题吗?如果是的话如何解决这个问题?我已经按照官方文档正确配置了所有内容,我错过了什么吗? here is my terminal screenshot

错误: macOS 11.2:致命错误Check failed: allocator->SetPermissions

部分堆栈跟踪:

#
# Fatal error in , line 0
# Check failed: allocator->SetPermissions(reinterpret_cast<void*>(region.begin()), region.size(), PageAllocator::kNoAccess).
#
#
#
#FailureMessage Object: 0x16f986408
 1: 0x100575758 node::NodePlatform::GetStackTracePrinter()::$_3::__invoke() 
...

【问题讨论】:

标签: node.js macos gatsby


【解决方案1】:

这似乎是一个与节点相关的问题。根据this GitHub thread,试试:

arch -x86_64 zsh

nvm install 14
nvm alias default 14
exit

所有解决方案都与Node版本有关。请记住通过运行 gatsby clean 并在每次试用中删除 node_modules 来清理缓存。

与其他 threads points 一样,该问题似乎与最新的 Node 版本有关。使用上面的 sn-p,您将回滚到版本 14,作为解决问题的临时解决方法。

【讨论】:

  • 我明白了。非常感谢您的回答。当我通过自制软件安装节点时如何应用这些命令?我认为自制程序有不同的程序吗?
  • 您需要安装节点版本管理器(NVM,github.com/nvm-sh/nvm)并运行nvm install 14nvm alias default 14/nvm use 14
  • 做了同样的事情,但现在它返回:` 17: 0x104ee1db8 v8::internal::Compiler::Compile(v8::internal::Handle<:internal::jsfunction>, v8: :internal::Compiler::ClearExceptionFlag, v8::internal::IsCompiledScope*) [/Users/musharof/.nvm/versions/node/v14.15.4/bin/node] 18: 0x1052885c8 v8::internal::Runtime_CompileLazy( int, unsigned long*, v8::internal::Isolate*) [/Users/musharof/.nvm/versions/node/v14.15.4/bin/node] 19: 0x1055a5eac ..zsh: abort gatsby开发`
  • 您删除了 node_modules、package-lock.json 并重新安装了吗?
  • 成功了!把终端改成iterm后,哈哈。谢谢大家
【解决方案2】:

This was fixed in Node v15.9.0 如果您在 Mac 上使用 homebrew 安装,您可以通过 brew upgrade node 获取最新版本

【讨论】:

    【解决方案3】:

    不幸的是,唯一的解决方案是使用 Rosetta 恢复到 nodejs 14

    这里是 V8 中的其他问题:https://bugs.chromium.org/p/v8/issues/detail?id=11389

    没有预计到达时间。请大家不要再问什么时候解决这个问题了。 我们知道这个问题并正在努力解决。

    另请注意,Node.js 仍不受官方支持 macOS+arm64。我们不为其生成二进制文件,您可以使用 x64 与此同时。

    https://github.com/nodejs/node/issues/37061#issuecomment-772559363

    【讨论】:

      【解决方案4】:

      我通过 nvm 重新安装节点解决了这个问题。

      我必须先打开 Rosetta 2 Terminal。

      nvm 安装节点

      nvm 使用节点

      在这些命令之后。

      我使用 yarn 命令重新安装了软件包。

      这样就成功了。

      【讨论】:

        【解决方案5】:

        这行得通...nvm install 16

        这里是 nvm 安装文档...https://github.com/nvm-sh/nvm

        【讨论】:

          猜你喜欢
          • 2022-12-27
          • 2022-11-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2021-07-21
          • 1970-01-01
          相关资源
          最近更新 更多