8

我正在使用 Mac M1,并且刚刚升级到 Node 14.17.6LTS。

我尝试使用电子生成器(22.11.7)重建better_sqlite3(7.4.3),但出现以下错误:

'v8::ArrayBuffer' 中没有名为 'GetContents' 的成员

任何想法如何解决这个问题?提前致谢!

gyp info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
  SOLINK_MODULE(target) Release/.node
  CXX(target) Release/obj.target/fse/fsevents.o
In file included from ../fsevents.cc:6:
In file included from ../../nan/nan.h:2884:
../../nan/nan_typedarray_contents.h:34:43: error: no member named 'GetContents' in 'v8::ArrayBuffer'
      data   = static_cast<char*>(buffer->GetContents().Data()) + byte_offset;
4

1 回答 1

4

我正在使用 Mac M1,并且刚刚升级到 Node 14.17.6LTS。

鉴于 Node 16 正式引入了 M1 支持,这是一个有趣的选择。

'v8::ArrayBuffer' 中没有名为 'GetContents' 的成员

请参阅此文档。简而言之,在 2019 年末GetContents被替换。作为一个兼容层,nan 在 2020 年初适​​应了这个GetBackingStore

因此,您可能必须确保所有相关软件包(Node、nan、electron...)的版本相互匹配(在大约同时发布并相互针对的意义上)。

于 2021-09-23T01:15:27.560 回答