学习使用nodejs,在安装编译mongodb模块时,遇到MSB4025错误
bson.vcxproj(40,46): error MSB4025: 未能加载项目文件。给定编码中的字符无效。 第 41 行,位置 63
查看bson.vcxproj文件后,发现是因为在windows下使用,用户名是中文,导致在生成vcxproj文件时,有些依赖路径里包含了中文字符。windows下的中文默认用的是GBK编码,而vcxproj文件默认的编码方式是utf-8。node的gyp工具,并没有很好的处理多语言编码的问题。这样导致生成的vcxproj文件是ANSI编码,内部的中文字符是GBK编码,等到调用VS 2010编译bson模块时,就会导致VS2010无法正确使用vcxproj文件,导致编译安装失败。
nodejs的gyp工具使用的python,在安装目录下可以找到gyp相关的python代码,修改其中用于生成vcxproj的代码,使其用utf-8编码生成文件内容并存储,即可解决此问题。具体如下:
在
C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp>
下找到文件easy_xml.py,这是node用于生成编译文件的处理工具。
修改其中文件打开和存储的部分
# It has changed, write it if existing != xml_string: if path.endswith('vcxproj'): #use utf_8 encoding to generate vcxproj file f = codecs.open(path, 'w', 'utf_8_sig') #convert GBK string to Unicode string to ensure the later utf_8 encoding f.write(xml_string.decode('gbk')) else: f = open(path, 'w') f.write(xml_string) f.close()
简单修改后,可以保证vcxproj文件按照正确的UTF8编码方式生成,保证VS 2010可以正确使用工程文件并编译通过。
另外,如果修改后出现EPERM错误,根据这个链接查到的内容,可能是npm的临时错误,可以通过清除npm cache重新安装编译即可。
http://stackoverflow.com/questions/17779079/yeoman-error-with-webapp-generator
即
npm cache clean
即可。
相关推荐
nodejs + mongodb 资源 合集 01
在node.js的基础下,cmd下直接npm i后node app.js就能直接运行了,里面还有很多地方尚未完成,适合初学者,大佬勿扰,
NodeJs+MongoDB+Express+Async实现增删改查的实例 字数字数字数
这个博客系统是用 nodejs 和 mongodb 写的,主要思路是来自于alsotang的博客教程,修改了部分内容,增加了富文本编辑器,以及图片表情上传
1.项目代码功能经验证ok,确保稳定可靠运行。欢迎下载使用! 2.主要针对各个计算机相关专业,包括计科、信息安全、数据科学与大数据技术、...基于React+Nodejs+mongodb搭建协同过滤的校园交易平台(含前端+后端源码).zip
基于nodejs+mongodb实现简单的用户增删改查功能,包含完整的前端页面
nodejs+mongodb搭建简单博客,模版引擎使用jade,前段样式使用bootstrap
毕业设计,基于Vue+NodeJS+MongoDb开发的校园二手信息发布平台,内含NodeJS完整源代码,数据库脚本 基于Vue+Nodejs+MongoDB校园二手信息发布平台设计毕业源码案例设计 开发软件: WebStorm 开发技术: Vue + Vant ...
使用nodejs的koa框架连接MongoDB数据库
基于nodejs+mongodb的简单报名登记+查询系统源码(课程设计).zip 该项目是个人毕设项目源码,评审分达到95分,都经过严格调试,确保可以运行!放心下载使用。 该项目资源主要针对计算机、自动化等相关专业的学生或...
毕业设计,基于Vue+NodeJS+MongoDb开发的精品课程在线学习网站,内含NodeJS完整源代码,数据库脚本 基于Vue+NodeJs+MongoDB精品课程在线学习网站设计毕业源码案例设计 开发软件: WebStorm 开发环境:Nodejs + vue...
原版NodeJS+MongoDB+AngularJS WEB开发原版,很好地学习nodeJS 书籍,统一前后端开发架构
nodejs连接mongodb示例,实现对数据的增删改查操作(跳过不必要的坑) Windows版 http://blog.csdn.net/wangyunbo158/article/details/78751398
Linux下安装nodejs&MongoDB教程
NodeJs操作MongoDb数据库 查询数据通过ejs显示列表、以及通过表单增加数据
使用nodejs操作mongodb来实现增删改查,适合初学者 文章链接:http://blog.csdn.net/wang_situ/article/details/39959643
毕业设计,基于Vue+NodeJS+MongoDb开发的小区社区综合治理管理系统,内含NodeJS完整源代码,数据库脚本 基于Vue+Nodejs+MongoDB小区社区综合治理管理系统毕业源码案例设计 开发软件: WebStorm 开发环境:Vue + ...
Webstorm+Nodejs+MongoDB的博客管理系统,使用Webstorm开发工具,编写js代码及前端html代码,连接MongoDB数据库进行数据交互,下载该代码文档,配置相应环境运行,将在浏览器上给你呈现出一个完整的博客管理系统!...
使用nodejs + mongodb 开发个人博客系统.zip
Web development with nodejs & mongodb.pdf英文版,技术需求高的人值得下载