我已经与我的NW应用程序工作了几个星期,现在没有问题。我开始让其他同事加入我的回购程序进行测试,我决定编写一个安装脚本,而不是强迫他们手动安装依赖项。今天,在运行了要测试的安装脚本之后,我尝试运行我的应用程序,得到了以下错误:
Invalid package.json
Field 'main' is required.我没有更改我的应用程序,也没有修改我的package.json文件。我不知道是什么原因导致了这个问题,但在NW的GitHub回购上似乎还存在一个悬而未决的问题,它谈到了这一点:
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没有提供版本标志。
安装外壳脚本
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"
}
}发布于 2014-04-08 12:31:33
所以,nodewebkit回购中有一个错误被记录下来了,但我现在确实找到了一个解决办法。进入nodewebkit目录中的node_modules目录(其中安装了nodewebkit ),并将package.json重命名为_package.json。
似乎与package.json和文件的读取顺序有冲突。
因此,类似于'cd路径到节点模块/ node _node/nodewebkit;mv package.json _package.json‘应该这样做。
请注意:--这只是一个解决办法,他们应该很快就会发布一个修复程序(希望如此),但在此之前.
https://stackoverflow.com/questions/22787613
复制相似问题