com*_*ted 7 node.js node-webkit
我已经使用我的NW应用程序几周了,没有问题.我开始将其他同事带到我的repo进行测试,我决定编写一个安装脚本,而不是强迫他们手动安装依赖项.今天,在运行安装脚本进行测试后,我尝试运行我的应用程序并收到以下错误:
Invalid package.json
Field 'main' is required.
Run Code Online (Sandbox Code Playgroud)
我没有更改我的应用程序或我的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
Run Code Online (Sandbox Code Playgroud)
我试图获得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
Run Code Online (Sandbox Code Playgroud)
我的目录树(来自root):
??? Gruntfile.js
??? app
? ??? css
? ? ??? main.css
? ??? index.html
? ??? js
? ? ??? application.js
? ??? package.json
??? bower.json
??? package.json
Run Code Online (Sandbox Code Playgroud)
我最内层的package.json文件,在我的主app目录中:
{
"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"
}
Run Code Online (Sandbox Code Playgroud)
这是最外层的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"
}
}
Run Code Online (Sandbox Code Playgroud)
因此,在nodewebkit repo中记录了一个错误,但我确实找到了一个解决方法.进入nodewebkit目录中的node_modules目录(其中安装了nodewebkit),并将package.json重命名为_package.json.
似乎与package.json和文件的读取顺序存在冲突.
所以像' cd [节点模块的路径]/node_modules/nodewebkit; mv package.json _package.json '应该这样做.
请注意:这只是一种解决方法,他们应该尽快发布一个修复程序(希望如此),但直到他们这样做...
| 归档时间: |
|
| 查看次数: |
2775 次 |
| 最近记录: |