gpt4 book ai didi

node.js - 运行 NodeWebkit 应用程序失败,出现 : Invalid package. json Field 'main' is required 错误

转载 作者:搜寻专家 更新时间:2023-10-31 22:23:20 26 4
gpt4 key购买 nike

我已经使用我的 NW 应用程序几个星期了,现在没有任何问题。我开始将其他同事带入我的 repo 进行测试,我决定编写一个安装脚本而不是强制他们手动安装依赖项。今天,在运行安装脚本进行测试后,我尝试运行我的应用程序并得到以下错误:

Invalid package.json
Field 'main' is required.

我没有对我的应用程序或我的 package.json 文件进行任何更改。我不知道是什么导致了这个问题,但 NW 的 GitHub 存储库上似乎有一个 Unresolved 问题,它讨论了这个问题:

https://github.com/rogerwang/node-webkit/issues/1503

我想知道是否还有其他人遇到过这种情况,您可能采取了哪些措施来解决此问题?

以下是关于我的应用的一些相关信息。

node-webkit: v0.8.5
node.js: v0.10.22
Chromium: 30.0.1599.66
bower: 1.3.1
yeoman: 1.1.2

我试图获取 nodewebkit 本身的版本,但是命令 nodewebkit 没有提供版本标志。

安装shell脚本

npm install bower -g
npm install yeoman -g
npm install generator-node-webkit -g
npm install nodewebkit -g
npm install grunt-cli -g
bower install
npm install

我的目录树(从根开始):

├── Gruntfile.js
├── app
│ ├── css
│ │ ├── main.css
│ ├── index.html
│ ├── js
│ │ ├── application.js
│ └── package.json
├── bower.json
├── package.json

我最里面的 package.json 文件,在我的主应用程序目录中:

{
"name": "directory",
"main": "index.html",
"version": "0.0.1",
"single-instance": true,
"window": {
//"toolbar": false,
"title": "Directory",
"width": 850,
"height": 600,
"min_width": 850,
"min_height": 600
},
"chromium-args": "--child-clean-exit"
}

这是最外层的 package.json:

{
"name": "directory",
"version": "0.0.0",
"main": "app/index.html",
"description": "",
"keywords": [],
"dependencies": {
"xls-to-json": "~0.2.0"
},
"devDependencies": {
"matchdep": "~0.1.2",
"grunt": "~0.4.1",
"grunt-contrib-copy": "~0.4.1",
"grunt-contrib-sass": "~0.4.1",
"grunt-contrib-concat": "~0.1.3",
"grunt-contrib-jshint": "~0.4.3",
"grunt-contrib-clean": "~0.4.1",
"grunt-contrib-rename": "0.0.3",
"grunt-contrib-compress": "~0.5.3",
"xls-to-json": "~0.2.0"
},
"engines": {
"node": ">=0.8.0"
}
}

最佳答案

因此,在 nodewebkit 存储库中记录了一个错误,但我现在确实找到了解决方法。进入nodewebkit目录下的node_modules目录(安装nodewebkit的地方),将package.json重命名为_package.json。

看来package.json和文件的读取顺序有冲突

所以像'cd [path to node modules]/node_modules/nodewebkit;mv package.json _package.json'应该这样做。

请注意:这只是一种解决方法,他们应该(希望)很快发布修复程序,但直到他们发布...

关于node.js - 运行 NodeWebkit 应用程序失败,出现 : Invalid package. json Field 'main' is required 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22787613/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com