Node.js nwjs package compilation error: Invalid file descriptor to ICU data

Node.js nwjs package compilation error: Invalid file descriptor to ICU data

我正在尝试使用 nwjs 创建我的第一个包,因此我创建了一个简单的应用程序,其中仅使用 npm 在本地安装了 nwjs 模块。我的应用程序主文件只有 console.log("Hello World!")。我压缩了应用程序文件 - 将它们保存在根目录中 - 并重命名为 app.nw。我基本跟着this doc。包树如下:

app.nw 
 - node_modules
   - nw (and all its files inside)
 - package.json
 - app.js

而我的 package.json 是:

{
  "name": "app3",
  "version": "1.0.0",
  "description": "",
  "main": "app.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "window": {
  // Some properties here
  }
}

然后我创建了一个空文件夹并将app.nw复制到其中。我从模块文件夹 /nw/nwjs 复制文件:nw.exenw.dllnw_elf.dllffmpeg.dll,然后将 app.nw 拖到 nw.exe。 debug.log 文件显示以下错误:

[0524/110408:ERROR:icu_util.cc(157)] Invalid file descriptor to ICU data received. [0524/110408:FATAL:icu_util.cc(260)] Check failed: result.

我在网上找不到与此错误和此工具相关的任何信息。我在 Win7 x64 中 运行 它。我还尝试从 github 手动下载 nwjs,并尝试使用 x64 和 x86 二进制文件,但它们都给我同样的错误。

下面,回溯(如果需要):

v8::OutputStream::WriteHeapStatsChunk [0x000007FEDA1B7AB1+225089]
std::vector<v8::CpuProfileDeoptFrame,std::allocator<v8::CpuProfileDeoptFrame> >::operator= [0x000007FEDA1640BC+259612]
v8::OutputStream::WriteHeapStatsChunk [0x000007FEDA1F2E58+467688]
v8::Extension::auto_enable [0x000007FEDA1203D1+368897]
v8::Extension::auto_enable [0x000007FEDA11ED19+363081]
ChromeMain [0x000007FED9CE0EB5+133]
GetUploadedReportsImpl [0x000000013F201251+3297]
GetUploadedReportsImpl [0x000000013F20097F+1039]
IsSandboxedProcess [0x000000013F264628+231640]
BaseThreadInitThunk [0x0000000076C359BD+13]
RtlUserThreadStart [0x0000000076E6A2E1+33]

我在这里错过了什么?

我让它与以下 package.json 一起工作:

{
  "name": "app4",
  "version": "1.0.0",
  "description": "",
  "main": "index.html",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "single-instance": true,
  "package": ".json",
  "window": {
    "title": "app4",
    "toolbar": false
  }
}

我实际上不确定我 removed/added 是什么具体的 属性 让它起作用。然后我将它压缩到 package.nw 并放入与 nw.exe 到 运行 相同的文件夹中。