我正在尝试使用我的 azure 托管站点设置 msnodesql(以前称为 node-sqlserver),但遇到了一些问题。
本质上,我在 Azure 中部署失败。我相信这是因为 NPM 试图在服务器上安装 msnodesql 但会失败,因为它需要安装“node-gyp”、Python 和 C++ 2010(天蓝色端不存在)。这是我看到的错误消息
npm ERR! msnodesql@0.2.0 install: `node-gyp rebuild`
npm ERR! `cmd "/c" "node-gyp rebuild"` failed with 1
npm ERR!
npm ERR! Failed at the msnodesql@0.2.0 install script.
npm ERR! This is most likely a problem with the msnodesql package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get their info via:
npm ERR! npm owner ls msnodesql
npm ERR! There is likely additional logging output above.
我已经对这个错误进行了一段时间的修改,但似乎没有任何东西可以解决它。我得到的最佳答案是手动将 msnodesql 包含在 node_modules 中(由http://geekswithblogs.net/shaunxu/archive/2012/11/16/install-npm-packages-automatically-for-node.js指定-on-windows-azure-web.aspx)。我觉得这应该解决它,但可惜它没有。我还尝试针对本地 x86 节点编译它,并且只使用预构建的 x86 节点(由http://geekswithblogs.net/shaunxu/archive/2012/09/18/node.js-adventure---when-node建议.js-meets-windows-azure.aspx)。
任何其他建议将不胜感激。
另外值得注意的是,它在我的本地环境中工作得很好,并且可以使用在 webmatrix 中运行但访问 Azure SQL DB 的 msnodesql 从我创建的 SQL Azure DB 中获取数据(一旦我将我的 IP 列入白名单)。
我最初在 Azure 中的数据库和网站位于不同区域时遇到问题,但我更正了这一点。