nodejieba icon indicating copy to clipboard operation
nodejieba copied to clipboard

win10 64bit + node7.8 + C++Build tools2015 安装失败

Open realeve opened this issue 7 years ago • 9 comments

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版本

realeve avatar Mar 31 '17 18:03 realeve

因为确实没在 Windows 上面开发过,对于windows 上的编译问题也没办法提供帮忙了。就是希望多翻翻相关issue 尽量找找看有没有对应办法吧。

yanyiwu avatar Apr 03 '17 05:04 yanyiwu

  1. 由于PowerShell的命令行和Cmd略有区别,此处建议使用Cmd进行操作
  2. 首先,我建议不要单独安装BuildTools而是把整个VS Community 2015装上,不过如果只是为了编译,功能部分只需要把C++的勾上就好
  3. 另外,需要安装Python 2.7 (node-gyp文档上说3.x.x不支持)
  4. 需要安装npm包node-gyp npm install -g node-gyp
  5. 在编译的时候node-gyp会找npm包windows-build-tools里的python,而不会管系统上的Python。 由于我们的Python是自己独立安装的,所以需要在npm中指定PYTHON环境变量: npm config set python ######, 同时,建议也设置一下Windows全局的环境变量(这是临时设置,也可以在系统设置全局的永久环境变量): SET PYTHON=###### (上面两个我具体不确定哪个有用,可以都加上) 其中####为Python 2.7可执行文件的路径
  6. 最后使用npm install -g nodejieba安装NodeJieba
  7. 如果出现LNK1106: invalid file or disk full: can not seek to 0x6496A报错,将C:\Users\当前用户名目录(也就是当前用户个人文件夹的根目录)里面的.node-gyp文件夹删除(这个报错大多情况是因为.node-gyp文件夹超过大小限制了),然后重新编译一般都能解决。

boxsnake avatar May 08 '17 06:05 boxsnake

我的是 Node: v6.10.2 npm v3.10.10 VS Community 2015 Update 4 Win10 v1703(15063.138) 操作的,两次过。第一次是因为.node-gyp文件夹满了没过。 希望可以帮到你。

另外如果npm有问题可以使用淘宝源的cnpm。

boxsnake avatar May 08 '17 06:05 boxsnake

设置环境变量之后重启,成功了

zhenzhenbadgirl avatar May 28 '17 10:05 zhenzhenbadgirl

1.python 2.7 2.使用的是CMD 3.node-gyp多个版本都试过,网上可以的那种node+node-gyp的版本组合都试过 4.npm / cnpm 都一样

5.关于python设置环境变量那里没注意,因为此前的教程中没人提到这一点,晚上试一下,谢谢楼上了。

ps:目前放弃本机版的 jieba,转用腾讯的分词了,从多个测试下来腾讯那个最好,比如: 那个/老汉/奸杀/了/我们/两/个/兄弟 目前的开源产品全部测试没通过。

realeve avatar Jun 08 '17 07:06 realeve

请问下有没有python 封装的C++版本呢?

Wall-ee avatar Aug 05 '17 08:08 Wall-ee

设置py 环境变量成功了

5852305 avatar Dec 04 '19 07:12 5852305

image

5852305 avatar Dec 04 '19 07:12 5852305

@boxsnake 正解 非常感谢

5852305 avatar Dec 04 '19 07:12 5852305