Node.js Sqlite模块在部署期间正确安装在Azure Web App上,但在运行时使用不同版本的模块。

Node.js Sqlite模块在部署期间正确安装在Azure Web App上,但在运行时使用不同版本的模块。,node.js,sqlite,azure-web-app-service,Node.js,Sqlite,Azure Web App Service,我目前正试图在Azure网站上托管的节点应用程序中获取Sqlite数据库 我在package.json的依赖项字段中列出了Sqlite3: “sqlite3”:“^3.0.8” 部署时,我会在安装过程中看到以下内容: remote:[sqlite3]成功:“D:\home\site\wwwroot\node\u modules\sqlite3\lib\binding\node-v11-win32-ia32\node\u sqlite3.node”通过远程安装 但是,每个请求都返回500个错误,所

我目前正试图在Azure网站上托管的节点应用程序中获取Sqlite数据库

我在
package.json的依赖项字段中列出了Sqlite3:

“sqlite3”:“^3.0.8”

部署时,我会在安装过程中看到以下内容:

remote:[sqlite3]成功:“D:\home\site\wwwroot\node\u modules\sqlite3\lib\binding\node-v11-win32-ia32\node\u sqlite3.node”通过远程安装

但是,每个请求都返回500个错误,所以我查看了应用程序日志

当我查看应用程序日志时,每次部署都会看到以下错误:

2015年6月29日星期一17:13:51 GMT+0000(协调世界时):未经审核的异常:错误:找不到模块D:\home\site\wwwroot\node\u modules\sqlite3\lib\binding\node-v14-win32-ia32\node\u sqlite3.node

如果您注意到,在运行应用程序时,它会查找
node\u modules\sqlite3\lib\binding\node-v14-win32-ia32\node\u sqlite3.node

但它已安装到
节点\u模块\sqlite3\lib\binding\node-v11-win32-ia32\node\u sqlite3.node
。我不太了解服务器的一般情况,甚至不了解节点的环境,不知道如何将其指向正确的位置或安装其他版本。Azure似乎有一台机器生成代码,另一台机器运行代码,它们的规格不同。

尝试将Node JS版本设置为0.12.0。 这可以通过以下步骤从Azure门户完成:

  • 选择网站
  • 选择“设置”,然后选择“应用程序设置”
  • 然后在“应用程序设置”下,将“网站\节点\默认\版本”的值更改为“0.12.0”

  • 尝试将节点JS版本设置为0.12.0。 这可以通过以下步骤从Azure门户完成:

  • 选择网站
  • 选择“设置”,然后选择“应用程序设置”
  • 然后在“应用程序设置”下,将“网站\节点\默认\版本”的值更改为“0.12.0”

  • 如何部署?集成的Git repo、GitHub、FTP等?我正在通过Git进行部署;我将更改推送到Azure应用程序服务存储库并由Azure部署。您如何部署?集成的Git repo、GitHub、FTP等?我正在通过Git进行部署;我将我的更改推送到Azure应用程序服务存储库,Azure将其部署。这听起来应该可以工作,但文件夹没有更改。好主意!我确信它会起作用!我不知道我是否理解正确。这解决了您的问题吗?我使用远程控制台手动卸载并重新安装sqlite3,它现在有了正确的路径,但我猜问题仍然会发生在部署上。啊,所以看起来npm安装可能不会更改每个部署,除非改变package.json!现在可以在每个部署上使用!这听起来好像应该有效,但文件夹没有改变。好主意!我确信它会起作用!我不知道我是否理解正确。这解决了您的问题吗?我使用远程控制台手动卸载并重新安装sqlite3,它现在有了正确的路径,但我猜问题仍然会发生在部署上。啊,所以看起来npm安装可能不会更改每个部署,除非改变package.json!现在可以在每个部署上使用!