我在azure应用程序服务上部署了一个节点js应用程序(使用打字稿开发)。到目前为止,该应用一直运行良好。我必须进行一些代码更改,并且在部署应用程序时,它失败并显示以下错误
+ [email protected]
updated 1 package in 4.391s
Building Typescript files.
D:\local\AppData\npm\node_modules\typescript\lib\tsc.js:79
throw new Error("TypeScript requires an environment that provides a co
^
Error: TypeScript requires an environment that provides a compatible native Map implementation.
at ts.Map (D:\local\AppData\npm\node_modules\typescript\lib\tsc.js:79:15)
at ts (D:\local\AppData\npm\node_modules\typescript\lib\tsc.js:80:7)
at Object.<anonymous> (D:\local\AppData\npm\node_modules\typescript\lib\tsc.js:81:3)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (D:\local\AppData\npm\node_modules\typescript\bin\tsc:2:1)
我查看了以前成功部署的日志,发现打字稿版本已从3.6.4更改为3.8.3
+ [email protected]
added 1 package from 1 contributor in 4.284s
Building Typescript files.
我更新了package.json中的依赖项,以强制其使用3.6.4。但这似乎没有任何影响,它继续使用3.8.3。
是否有解决此问题的建议?
谢谢
删除您的节点模块目录,
在package.json中,请确保您有
"dependencies" : {
"typescript" : "3.6.4"
}
然后建立。您的package-lock.json现在应该具有3.6.4,这应该是唯一安装的版本。除非出于某种原因在全球范围内安装了打字稿,否则...
通过强制我的部署脚本(deploy.sh)安装[email protected]可以解决此问题。
npm install -g [email protected]