[英]TS2688: Cannot find type definition file for 'node' with @types/node installed
I'm having a difficult time building a TypeScript application on Heroku. 我在Heroku上构建TypeScript应用程序时遇到了困难。
My dependencies list includes a type definition for all of the packages I'm using: 我的依赖项列表包括我正在使用的所有软件包的类型定义:
"dependencies": {
"@nestjs/common": "^4.5.1",
"@nestjs/core": "^4.5.1",
"@nestjs/microservices": "^4.5.1",
"@nestjs/testing": "^4.5.1",
"@nestjs/websockets": "^4.5.1",
"@types/express": "^4.0.39",
"@types/jest": "^21.1.8",
"@types/json-schema": "^6.0.0",
"@types/jsonwebtoken": "^7.2.5",
"@types/mongoose": "^4.7.29",
"@types/node": "^8.5.1",
"@types/passport": "^0.4.2",
"@types/passport-jwt": "^3.0.0",
"@types/supertest": "^2.0.4",
"chalk": "^2.3.0",
"dotenv": "^4.0.0",
"express-jwt": "^5.3.0",
"global": "^4.3.2",
"jsonwebtoken": "^8.1.0",
"mongoose": "^4.13.7",
"passport": "^0.4.0",
"passport-jwt": "^3.0.1",
"redis": "^2.8.0",
"reflect-metadata": "^0.1.10",
"rxjs": "^5.5.5",
"tslint": "^5.8.0",
"ts-node": "^4.0.2",
"typescript": "^2.6.2"
},
However, when building on Heroku, I get: 但是,在Heroku上构建时,我得到:
error TS2688: Cannot find type definition file for 'node'
error TS2307: Cannot find module 'http'
and more. 和更多。 My tsconfig.json sets the
typeRoots
as './node_modules/@types'
and I get a successful build locally. 我tsconfig.json设置
typeRoots
为'./node_modules/@types'
,我得到当地一个成功的构建。
Why can't Heroku find these types? 为什么Heroku无法找到这些类型?
Apparently Heroku wasn't picking up changes to my package.json file or had cached some portion of the build process that was excluding @type definitions that I had moved from devDependencies to dependencies. 显然,Heroku并未对我的package.json文件进行更改,或者缓存了构建过程的某些部分,该部分不包括我从devDependencies移到依赖项的@type定义。
I cleared the build cache as such: 我这样清除了构建缓存:
$ heroku plugins:install heroku-repo
$ heroku repo:purge_cache -a [appname]
$ git commit --allow-empty -m "Purge cache"
$ git push heroku master
and everything works as expected. 一切都按预期进行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.