使用nw-gyp构建node-sqlite3

时间:2015-08-26 13:38:01

标签: node.js sqlite node-webkit

我正在尝试为node-webkit构建sqlite3。

sqlite3页面解释说需要使用nw-gyp

据我了解,我应该在本地下载source,然后导航到src文件夹并运行它(shown here):

npm install sqlite3 --build-from-source --runtime=node-webkit --target_arch=ia32 --target=$(NODE_WEBKIT_VERSION)

事情是,无论我运行该命令的任何位置,我都会遇到这些错误:

  • npm WARN package.json sqlite3@3.0.10没有许可证字段。
  • npm WARN install拒绝安装sqlite3作为其自身的依赖
  • npm WARN node-pre-gyp与sqlite3@3.0.10捆绑在一起,但在解压缩树中找不到捆绑包。

也许我这样做完全错了,我只是不知道:)。

NW-gyp版本:V0.12.4 Node-webkit版本:0.12.3

操作系统:Windows 7

我向成功迈出了一小步,但还没有。看来我应该在空文件夹中尝试该命令。所以我做了,但现在我有很多错误。

第一个错误是:

错误:如果node-webkit是目标,则不支持空目标版本。然后是许多STACK错误。

第一个堆栈是:at get_node_webkit_abi(文件的完整路径)utils / versioning.js

更多更新: 此命令删除了许多错误:

 npm install sqlite3 --build-from-source --runtime=node-webkit --target_arch=ia32 --target=0.12.3

然后有错误,无法找到Pything。这是固定的。现在使用C ++编译器还有更多错误。我认为我完全搞乱了.NET可再发行组件。

下一行错误是:  错误MSB6006:" CL.exe"退出代码-1073741515

这是我现在得到的错误: enter image description here

更多改进。我收到错误:binding.gyp中的未定义变量module_name enter image description here

我接下来的步骤:

  • 我安装了npm install -g node-pre-gyp

  • 比我运行node-pre-gyp rebuild --runtime = node-webkit --target = 0.12.3

  • 这让我错过了缺少nan模块

  • 我安装了

  • 我得到的屏幕与第一张截图(MSB6006)相同。

2 个答案:

答案 0 :(得分:4)

我设法在mac上使用以下命令构建:

sudo npm install nw-gyp -g
npm install sqlite3 --build-from-source --runtime=node-webkit --target_arch=ia32 --target=0.12.3

首先,确保全局安装了nw-gyp。然后,在包含node-webkit可执行文件(nwjs)的目录中或在该文件夹的子文件夹中运行该命令。

然后,运行该命令应在与二进制文件相同的目录中创建一个node_modules文件夹,其中包含sqlite3模块。

答案 1 :(得分:0)

这有助于我为Windows 7构建sqlite3:

  1. 请按照以下步骤操作:https://github.com/nodejs/node-gyp/issues/629#issuecomment-138276692
  2. 运行node.js命令提示符
  3. 从此解决方案中调用Setenv.cmd:https://gist.github.com/kosmobot/6020327
  4. 您可以使用以下链接从Google云端硬盘下载模块:/ open?id = 0B20fPv1V1FfuMFhKLXdHOXNOR28