nodejs安装jsdom模块出现MSB4025错误
2019独角兽企业重金招聘Python工程师标准>>>
在安装jsdom模块的过程中遇到这么一个MSB4025错误:(win8.1 下,已经安装了vs2013 for desktop express版)
error MSB4025: 未能加载项目文件,给定编码中的字符无效
在网上查了一些资料,说是因为编码的问题,因为在windows下使用,用户名是中文,导致在生成vcxproj文件时,有些依赖路径里包含了中文字符。好吧,我承认我安装模块的路径的确是包含中文名称......
windows下的中文默认用的是GBK编码,而vcxproj文件默认的编码方式是utf-8。node的gyp工具,并没有很好的处理多语言编码的问题。这样导致生成的vcxproj文件是ANSI编码,内部的中文字符是GBK编码,等到调用VS 2013编译模块时,就会导致VS2013无法正确使用vcxproj文件,导致编译安装失败。
nodejs的gyp工具使用的python,在安装目录下可以找到gyp相关的python代码,修改其中用于生成vcxproj的代码,使其用utf-8编码生成文件内容并存储,即可解决此问题。
网上找到资料说是修改 C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\node-gyp\gyp\pylib\gyp>下的 easy_xml.py文件(这里的 ‘C:\Program Files (x86)\nodejs’指的是本人nodejs的安装路径,实际操作中要换成对应的路径,一般是‘C:\Program Files\nodejs‘)
找到 “# It has changed, write it”这一行,将下面的判断代码修改,原来是:
# It has changed, write itif existing != xml_string:f = open(path, 'w' ,'utf_8_sig')f.write(xml_string)f.close()
换成下面的代码:
# It has changed, write itif existing != xml_string:if path.endswith('vcxproj'):#use utf_8 encoding to generate vcxproj filef = codecs.open(path, 'w', 'utf_8_sig')#convert GBK string to Unicode string to ensure the later utf_8 encodingf.write(xml_string.decode('gbk'))else:f = open(path, 'w')f.write(xml_string)f.close()
值得注意的是,代码中使用到了“codecs.open”,所以要再开头处引入codecs,要不然会报错说变量找不到,在开头处加上:
import codecs
完成后保存,在运行一下安装jsdom的命令,发现已成功安装。
转载于:https://my.oschina.net/tearlight/blog/279797
nodejs安装jsdom模块出现MSB4025错误相关推荐
- nodejs安装ffi模块调用dll详解
网上很多关于nodejs安装ffi的模块讲的条理实在太不清晰了,nodejs使用的VC++运行库对于不同的nodejs版本是不一致的.nodejs10需要的vs版本是vs2015. 1 安装vs201 ...
- nodejs安装及npm模块插件安装路径配置
在学习完js后,我们就要进入nodejs的学习,因此就必须配置nodejs和npm的属性了. 我相信,个别人在安装时会遇到这样那样的问题,看着同学都已装好,难免会焦虑起来.于是就开始上网查找解决方案, ...
- 升级nodejs版本 安装n模块报错 npm ERR! notsup Unsupported platform
如何升级nodejs版本 首先安装n模块, 输入npm install -g n n模块专门用来管理nodejs的版本. 如果出现npm ERR! notsup Unsupported platfor ...
- 明明安装了模块,还是出现 错误 ImportError: No module named ‘pandas‘ 原因LINUX上安装了多个python环境,将脚本中python 改为python3问题解
明明安装了模块,还是出现 错误 ImportError: No module named 'pandas' 原因LINUX上安装了多个python环境,将脚本中python 改为python3问题解 ...
- nodejs安装不好_【nodejs安装错误2503】nodejs安装2503_nodejs 2503-系统城
2017-12-27 14:50:11 浏览量:959 最近,一位windows10系统用户反馈自己在电脑中安装nodejs时,突然遇到提示错误代码2503,因为错误提示是英文界面所有不知道到底是那里 ...
- Windows系统下nodejs安装及配置
关于nodejs中文站,眼下活跃度最好的知识站应该是http://www.cnodejs.org/ ,而http://cnodejs.org/则活跃度较低.Express.js是nodejs的一个MV ...
- python psutil库安装_安装psutil模块报错安装python-devel
psutil/_psutil_linux.c:9:20: 错误:Python.h:没有那个文件或目录 In file included from psutil/_psutil_linux.c:19: ...
- Express接口综合案例(创建项目、配置常用中间件、路由设计、提取控制器模块、配置错误统一处理中间件、用户注册的数据验证,密码加密)
一.创建项目 二.目录结构 三.配置常用中间件 3.1 解析请求体 express.json() express.urlencoded() 3.2 日志输出 morgan() 3.3 为客户端提供跨域 ...
- NodeJS 与第三方模块 mysql(基本操作)
文章目录 参考 描述 mysql 模块 连接数据库 检测 基本操作 查询 数据与代码分离原则 占位符 插入 另一种姿态 修改 另一种姿态 删除 标记删除 参考 项目 描述 哔哩哔哩 黑马程序员 搜索引 ...
最新文章
- 15综合案例之学成在线主页设计
- 英语发音规则---N字母
- Python回顾与整理10:模块
- php method_exists 检测类中是否包括函数
- nagios系列(一)centos6.5环境部署nagios服务端
- Android自定义类似ProgressDialog效果的Dialog
- Django笔记7(通用视图)
- 选PMP培训机构看什么
- 【原创】 禁用ctfmon.exe 禁止ctfmon.exe自动启动
- 面试必问的 Redis:数据结构和基础概念
- 【读书笔记】统计学:从数据到结论 第七章
- 有盘和无盘服务器,网吧系统的终极解决之道:无盘系统+有盘(转)
- 【USACO题库】3.4.4 Raucous Rockers“破锣摇滚”乐队
- 模块七:mixer模块
- 苹果也能做深度学习了!PyTorch宣布支持苹果M1芯片GPU加速:训练快6倍,推理提升21倍...
- excel插件方格格子
- 神马笔记 版本1.8.0——删除笔记/文件夹·技术细节篇
- pd.concat()和pd.merge()
- 游戏中随机地图的实现
- 微信小程序 - video组件poster无效 / 视频播放列表
热门文章
- 解耦的故事(一)-tmfc的开关(转)
- mipi屏在内核可以显示logo但是u-boot无法显示的问题【转】
- 高效搭建Storm全然分布式集群
- 郑晔:代码之丑 无状态方法
- Office 2003出现发送错误报告怎么办
- Ubuntu8.10下修复FC7系统的home分区
- [MySQL FAQ]系列 -- 为何授权不对
- 《与编码人员一起工作》作者访谈
- Python 运行 Python hello.py 出错,提示: File stdin , line 1
- 你确实应该学习并使用的 10 个 C# 特性