在azure应用程序服务上部署Node js应用程序时出现Typescript错误

问题描述 投票:0回答:2

我在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。

是否有解决此问题的建议?

谢谢

typescript azure
2个回答
0
投票

删除您的节点模块目录,

在package.json中,请确保您有

"dependencies" :  {
   "typescript" : "3.6.4"
}

然后建立。您的package-lock.json现在应该具有3.6.4,这应该是唯一安装的版本。除非出于某种原因在全球范围内安装了打字稿,否则...


0
投票

通过强制我的部署脚本(deploy.sh)安装[email protected]可以解决此问题。

npm install -g [email protected]
© www.soinside.com 2019 - 2024. All rights reserved.