网上看到很多文章都说windows下编译node-sqlite3不行。但偶然看到一篇文章说可以,并且给出了方法。我就照他的方法尝试着编译。没完全按照文章给出的方法编译,但编译node的方法完全按照文章所述。http://nonocast.cn/node-sqlite3-in-windows/
我用的是TortoiseGit。已经安装了python,版本2.7。已经安装了node,版本0.10.13。
分两步。一,编译node。二,编译sqlite3。
编译node
1、git clone https://github.com/joyent/node.git。这会创建node目录。
2、右键点击node目录,菜单中选择TortoiseGit->Switch/Checkout。选择版本是0.10.0的代码库。
3、从开始菜单中找到“Microsoft Visual Studio 2010->Visual Studio Tools->Visual Studio 命令提示(2010)”,将打开一个控制台窗口。从此控制台窗口进入node源码目录。执行vcbuild.bat。
4、第三步执行完毕后,node目录下将会创建sln文件。打开这个sln文件,选择debug模式,编译node。
编译sqlite3
建立一个环境变量PYTHON,值是python.exe这个文件的全路径,包括文件名。PATH环境变量中加入这个目录:C:\Program Files\nodejs\node_modules\npm\bin\node-gyp-bin。
1、git clone https://github.com/developmentseed/node-sqlite3.git。这会创建node-sqlite3目录。
2、从开始菜单中找到“Microsoft Visual Studio 2010->Visual Studio Tools->Visual Studio 命令提示(2010)”,将打开一个控制台窗口。从此控制台窗口进入node-sqlite3源码目录。执行node-gyp configure。这会在build目录下生成binding.sln文件。
3、打开binding.sln文件。设置项目属性。“包含目录”增加这个目录:C:\nodejs\node\src。这是git下来的nodejs源码目录下的一个子目录,这里有编译sqlite3需要的头文件。进入项目属性里的“链接器->常规->附加库目录”,增加这个目录:C:\nodejs\node\Debug。这个目录下存有node.lib。进入项目属性里的“链接器->输入->附加依赖项”,已经设置了node.lib,但目录不对,只需将node.lib前的目录全部去除,只保留“node.lib”即可。
4、编译node-sqlite3。
注:执行“node-gyp cofnigure”时有时会很慢,如果强制结束后再次执行它有可能会得到“common.gypi not found”的错误提示。此时,要删除提示中那个目录下的“.node-gyp”子目录,然后再执行。