nodejieba
nodejieba copied to clipboard
win10 64bit + node7.8 + C++Build tools2015 安装失败
1.按照 https://github.com/nodejs/node-gyp的说明将c++编译工具升级至2015; 2.NodeJS 7.8 + win10 64位
` node "D:\Program Files\nodejs\node_global\node_modules\cnpm\node_modules\npminstall\node-gyp-bin\node-gyp.js" rebuild 在此解决方案中一次生成一个项目。若要启用并行生成,请添加“/m”开关。 MSBUILD : error MSB6006: “VCBuild.exe”已退出,代码为 -1。 [G:\test\jiebaDemo\[email protected]@nodejieba\buil d\binding.sln]
gyp ERR! build error
gyp ERR! stack Error: C:\Program Files (x86)\MSBuild\14.0\bin\msbuild.exe
failed with exit code: 1
gyp ERR! stack at ChildProcess.onExit (D:\Program Files\nodejs\node_global\node_modules\cnpm\node_modules\npminstall\node_modules\node-gyp\lib\build.js:285:23)
gyp ERR! stack at emitTwo (events.js:106:13)
gyp ERR! stack at ChildProcess.emit (events.js:194:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:215:12)
gyp ERR! System Windows_NT 10.0.10586
gyp ERR! command "D:\Program Files\nodejs\node.exe" "D:\Program Files\nodejs\node_global\node_modules\cnpm\node_modules\npminstall\node-gyp-bin\node-gyp.js" "rebuild"
gyp ERR! cwd G:\test\jiebaDemo\[email protected]@nodejieba
gyp ERR! node -v v7.8.0
gyp ERR! node-gyp -v v3.6.0
gyp ERR! not ok
`
按照 http://www.jianshu.com/p/d541c8585479 的操作降级到 Node 0.12.12, [email protected]仍然是报同样的错误。
吐槽一句:开源不易,但一个项目的issue里面满版的安装失败。作者也没在README.MD明确需要哪些依赖项,比如c++编译库版本,Node-gpy版本,nodeJS版本
因为确实没在 Windows 上面开发过,对于windows 上的编译问题也没办法提供帮忙了。就是希望多翻翻相关issue 尽量找找看有没有对应办法吧。
- 由于PowerShell的命令行和Cmd略有区别,此处建议使用Cmd进行操作
- 首先,我建议不要单独安装BuildTools而是把整个VS Community 2015装上,不过如果只是为了编译,功能部分只需要把C++的勾上就好
- 另外,需要安装Python 2.7 (node-gyp文档上说3.x.x不支持)
- 需要安装npm包node-gyp
npm install -g node-gyp
- 在编译的时候node-gyp会找npm包windows-build-tools里的python,而不会管系统上的Python。
由于我们的Python是自己独立安装的,所以需要在npm中指定PYTHON环境变量:
npm config set python ######
, 同时,建议也设置一下Windows全局的环境变量(这是临时设置,也可以在系统设置全局的永久环境变量):SET PYTHON=######
(上面两个我具体不确定哪个有用,可以都加上) 其中####为Python 2.7可执行文件的路径 - 最后使用
npm install -g nodejieba
安装NodeJieba - 如果出现LNK1106: invalid file or disk full: can not seek to 0x6496A报错,将
C:\Users\当前用户名
目录(也就是当前用户个人文件夹的根目录)里面的.node-gyp文件夹删除(这个报错大多情况是因为.node-gyp文件夹超过大小限制了),然后重新编译一般都能解决。
我的是 Node: v6.10.2 npm v3.10.10 VS Community 2015 Update 4 Win10 v1703(15063.138) 操作的,两次过。第一次是因为.node-gyp文件夹满了没过。 希望可以帮到你。
另外如果npm有问题可以使用淘宝源的cnpm。
设置环境变量之后重启,成功了
1.python 2.7 2.使用的是CMD 3.node-gyp多个版本都试过,网上可以的那种node+node-gyp的版本组合都试过 4.npm / cnpm 都一样
5.关于python设置环境变量那里没注意,因为此前的教程中没人提到这一点,晚上试一下,谢谢楼上了。
ps:目前放弃本机版的 jieba,转用腾讯的分词了,从多个测试下来腾讯那个最好,比如: 那个/老汉/奸杀/了/我们/两/个/兄弟 目前的开源产品全部测试没通过。
请问下有没有python 封装的C++版本呢?
设置py 环境变量成功了
@boxsnake 正解 非常感谢