Android混合开发 Cordova安装完查看版本报错:Not an integer
来源:互联网 发布:淘宝apass会员资格 编辑:程序博客网 时间:2024/06/14 08:21
最近因工作需要,要用到cordova,就想着学习一下,我是从
W3Cschool: http://www.w3cschool.cn/cordova/Cordova-69td1ygu.html上开始入坑了
一步步按照教程,还算顺利,可是就在安装完cordova 查看版本的时候报如下错误:
C:\Users\Administrator>cordova -v
TypeError: Not an integer
at Object.fs.writeSync (fs.js:528:18)
at Function.writeFileSync [as sync] (C:\Users\Administrator\AppData\Roaming\npm\node_modules\cordova\node_modules\insight\node_modules\configstore\node_modules\write-file-atomic\index.js:114:10)
at Object.create.all.set (C:\Users\Administrator\AppData\Roaming\npm\node_modules\cordova\node_modules\insight\node_modules\configstore\index.js:62:21)
at Object.Configstore (C:\Users\Administrator\AppData\Roaming\npm\node_modules\cordova\node_modules\insight\node_modules\configstore\index.js:27:11)
at new Insight (C:\Users\Administrator\AppData\Roaming\npm\node_modules\cordova\node_modules\insight\lib\index.js:38:34)
at Object. (C:\Users\Administrator\AppData\Roaming\npm\node_modules\cordova\src\telemetry.js:37:15)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
从错误上不难看出应该是 fs.writeSync()方法里需要Integer类型的参数,这个方法是个重载的方法,但还是硬着头皮按照路径找到index.js文件
:C:\Users\Administrator\AppData\Roaming\npm\node_modules\cordova\node_modules\insight\node_modules\configstore\node_modules\write-file-atomic\index.js
将第114行 fs.writeSync(fd, data, options.encoding || ‘utf8’) 修改为 fs.writeSync(fd, data, 0, options.encoding || ‘utf8’)
之后有报另一个文件同样的错误:
:C:\Users\Administrator\AppData\Roaming\npm\node_modules\cordova\node_modules\update-notifier\node_modules\configstore\node_modules\write-file-atomic\index.js
结果,ok了,可以查看版本了,可以运行 但不知道会不会影响使用,感觉这Apache不会犯这样的错误吧.
等等还没完,我发现命令行里有一段提示,意思是我的node.js版本(node-v0.10.26-x86)太低了,可以升级到6.10.2,我一看版本差这么多,瞬间清晰了,重载的方法fs.writeSync(fd, data, options.encoding || ‘utf8’) 肯定是后来跟新的时候加上去的,顿时觉得W3Cschool比较坑啊!
所以马上升级node.js,并把那两个修改过的方法改了回来,运行命令行,畅通无阻啊!
总结一下:其实就是node.js的版本太低了,没有那个重载后的方法,升级到最新版本就ok了.附上node.js的下载连接:http://nodejs.cn/download/
- Android混合开发 Cordova安装完查看版本报错:Not an integer
- android混合开发:cordova的安装使用
- 混合开发-cordova打包Android
- ionic build android (或cordova build android)报错:Error: Could not find an installed version of Gradle
- android cordova混合开发(交互部分)
- Android混合开发环境搭建(cordova)
- Android+Cordova混合开发以及Cordova自定义插件
- Android Cordova 插件开发之Cordova安装
- Android Cordova 插件开发之Cordova安装
- Android Cordova 插件开发之Cordova安装
- Cordova报错:Android SDK not found. 和报错 Please install Android target: "android-22"
- cordova 混合开发
- cordova 混合开发
- cordova 打包android报错
- Android报错MainActivity is not an enclosing class
- Cordova(PhoneGap)Android Native混合开发值传递
- 混合开发:ionic+angular+cordova环境搭建(android)
- cordova build android 报异常 not reserve enough space 解决方法
- [多项式] COGS 有标号的二分图计数系列
- Android 开机启动
- 【LeetCode】【Python】【C++】2. Add Two Numbers代码实现
- 机器学习实战
- MVC拼接前台页面
- Android混合开发 Cordova安装完查看版本报错:Not an integer
- JAVA开Kafka消费端
- 廉价最短路
- 发牌程序
- java中一个ArrayList的用例
- 详解HTTP状态码
- rsync实现文件同步
- Java的二进制整数与下划线分隔符
- StateDrawable和文本系列控件