学习使用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
即可。
相关推荐
【标题】"Node.js+MongoDB博客系统"是一款基于Node.js和MongoDB开发的轻量级博客平台。这个项目提供了一个快速入门的平台,适用于初学者熟悉Web开发、Node.js后端技术和NoSQL数据库MongoDB的实践应用。 【描述】...
在IT行业中,Node.js和MongoDB是两个非常重要的技术组件,尤其在构建高效、可扩展的Web应用程序时。本合集主要关注这两项技术的结合使用,为开发者提供了一个宝贵的资源集合。 首先,我们来详细了解Node.js。Node....
1.项目代码功能经验证ok,确保稳定可靠运行。欢迎下载使用! 2.主要针对各个计算机相关专业,包括计科、信息安全、数据科学与大数据技术、...基于React+Nodejs+mongodb搭建协同过滤的校园交易平台(含前端+后端源码).zip
- `vue_nodejs_mongodb_LostAndFound`:项目根目录,包含前端和后端代码。 - `frontend`:前端Vue.js项目,可能包含`src`(源代码)、`public`(静态资源)等目录,以及`package.json`(项目配置文件)。 - `src`...
基于Vue+Nodejs+MongoDB实现的超市后台商品的订单管理系统+源代码+文档说明+数据库 .zip本资源中的源码都是经过本地编译过可运行的,评审分达到95分以上。资源项目的难度比较适中,内容都是经过助教老师审定过的能够...
基于Vue+Nodejs+MongoDB实现的超市后台商品的订单管理系统代码+文档说明+数据库,含有代码注释,新手也可看懂,个人手打98分项目,导师非常认可的高分项目,毕业设计、期末大作业和课程设计高分必看,下载下来,简单...
毕业设计,基于Vue+NodeJS+MongoDb开发的校园二手信息发布平台,内含NodeJS完整源代码,数据库脚本 基于Vue+Nodejs+MongoDB校园二手信息发布平台设计毕业源码案例设计 开发软件: WebStorm 开发技术: Vue + Vant ...
NodeJS 连接 MongoDB NodeJS 是一个基于 Chrome V8 JavaScript 引擎的 JavaScript 运行环境,允许开发者使用 JavaScript 语言编写服务器端代码。MongoDB 是一个基于分布式文件存储系统的 NoSQL 数据库,提供了高...
基于nodejs+mongodb的简单报名登记+查询系统源码(课程设计).zip 该项目是个人毕设项目源码,评审分达到95分,都经过严格调试,确保可以运行!放心下载使用。 该项目资源主要针对计算机、自动化等相关专业的学生或...
毕业设计,基于Vue+NodeJS+MongoDb开发的精品课程在线学习网站,内含NodeJS完整源代码,数据库脚本 基于Vue+NodeJs+MongoDB精品课程在线学习网站设计毕业源码案例设计 开发软件: WebStorm 开发环境:Nodejs + vue...
基于Vue+NodeJs+MongoDB失物招领系统设计毕业源码案例设计_vue_nodejs_mongodb_LostAndFound
nodejs连接mongodb示例,实现对数据的增删改查操作(跳过不必要的坑) Windows版 http://blog.csdn.net/wangyunbo158/article/details/78751398
Linux下安装nodejs&MongoDB教程
《NodeJS+MongoDB+AngularJS WEB开发原版》是一本深入探讨现代Web开发技术的书籍,特别关注了使用Node.js、MongoDB和AngularJS构建全栈应用的实践方法。Node.js是基于Chrome V8引擎的JavaScript运行环境,它允许...
毕业设计,基于Vue+NodeJS+MongoDb开发的小区社区综合治理管理系统,内含NodeJS完整源代码,数据库脚本 基于Vue+Nodejs+MongoDB小区社区综合治理管理系统毕业源码案例设计 开发软件: WebStorm 开发环境:Vue + ...
Webstorm+Nodejs+MongoDB的博客管理系统,使用Webstorm开发工具,编写js代码及前端html代码,连接MongoDB数据库进行数据交互,下载该代码文档,配置相应环境运行,将在浏览器上给你呈现出一个完整的博客管理系统!...
标题中的“nodejs操作mongodb,插查删改”指的是使用Node.js这门JavaScript后端运行环境来与MongoDB数据库进行交互,实现数据的增、删、查、改四大基本操作。MongoDB是一种流行的NoSQL数据库,它以JSON格式存储数据...
源代码可以自由的下载该多好,非要人去做各种无聊的任务
nodejs 操作mongodb实现好友功能,封装成了一个库,方便使用
1.目的:学习nodejs连接使用mongodb,用angularjs2展示数据 2.使用技术: 数据库: mongodb 后端数据获取: nodejs 前端数据展示: angularjs2 3.应用: 纯mongodb CURD操作: http://127.0.0.1:3000/mongodb/ 便利...