原因:
需要使用node.bcrypt.js库来进行文件加密。
但是该库使用c++实现。
在ubuntu中已有gcc编译器,编译非常顺利。
而在windows中又不想安装庞大的visual studio (曾经全部安装vs系列,占用空间超过50g,好可怕啊!)
通过百度,发现微软已经提供命令行编译器: visual c++ build tools 。
对于我来说,我只需要安装windows版本的c++编译器以及c语言运行库(crt)和c++标准库(stl),而 visual c++ build tools 正符合我的需求。
下载并安装 visual c++ build tools:
http://landinghub.visualstudio.com/visual-cpp-build-tools 下载visual c++ build tools 2015
打开下载的安装程序,选择安装crt(c语言运行库)和stl(c++标准库)
程序进入下载并安装阶段
- 安装好,如下结构:
npm install node-gyp -g 全局安装gyp(类似cmake,maven等项目构建工具,用于跨平台编译或编译解决方案生成)
npm install bcrypt --save 将bcrypt下载并自动使用gyp调用vs2015 cpp build tools进行编译,但是我们碰到问题了:
- 原来单单crt和stl库不够,还需要windows sdk 8.1版本,那就使用安装器修复安装吧
还需要下载python2.7.x版本进行脚本运行(是python2而不是python3,切记!),自行查python下载地址。目前跨平台编译的脚本基本都使用python进行引导。
再次使用npm install bcrypt --save覆盖编译安装或使用gyp相关命令进行编译生成部署(bcrypt已经安装好的情况下)
如果你没有在windows中安装visual studio C++ IDE的话,并且不想安装庞大的vs系统且想编译c/c++程序的话,visual c++ build tools是你最好的选择!