因为我已经将我的代码从Angular 7迁移到Angular 8,并且迁移已经完成,但是当我使用npm start运行应用程序时,它会给出以下错误
ERROR in The Angular Compiler requires TypeScript >=3.4.0 and <3.5.0 but 3.5.1 was found instead.
** Angular Live Development Server is listening on localhost:4200, open your browser on http://localhost:4200/ **
i 「wdm」: Failed to compile.因此,我尝试使用npm i typescript@3.4.0 --save-dev --save-exact将typescript版本从3.5.1降级到3.4.0
它会给出以下错误
npm ERR! code ETARGET
npm ERR! notarget No matching version found for typescript@3.4.0
npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! notarget a package version that doesn't exist.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\Hp\AppData\Roaming\npm-cache\_logs\2019-06-11T06_02_56_125Z-debug.log该文件包含以下内容
0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli 'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli 'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli 'i',
1 verbose cli 'typescript@3.4.0',
1 verbose cli '--save-dev',
1 verbose cli '--save-exact'
1 verbose cli ]
2 info using npm@6.9.0
3 info using node@v12.4.0
4 verbose npm-session 34e826751150af7e
5 silly install loadCurrentTree
6 silly install readLocalPackageData
7 http fetch GET 304 https://registry.npmjs.org/typescript 624ms (from cache)
8 silly registry:manifest no matching version for typescript@3.4.0 in the cache. Forcing revalidation.
9 http fetch GET 200 https://registry.npmjs.org/typescript 717ms
10 silly fetchPackageMetaData error for typescript@3.4.0 No matching version found for typescript@3.4.0
11 timing stage:rollbackFailedOptional Completed in 3ms
12 timing stage:runTopLevelLifecycles Completed in 4809ms
13 verbose type version
14 verbose stack typescript: No matching version found for typescript@3.4.0
14 verbose stack at pickManifest (C:\Program Files\nodejs\node_modules\npm\node_modules\npm-pick-manifest\index.js:101:11)
14 verbose stack at C:\Program Files\nodejs\node_modules\npm\node_modules\pacote\lib\fetchers\registry\manifest.js:43:18
14 verbose stack at tryCatcher (C:\Program Files\nodejs\node_modules\npm\node_modules\bluebird\js\release\util.js:16:23)
14 verbose stack at Promise._settlePromiseFromHandler (C:\Program Files\nodejs\node_modules\npm\node_modules\bluebird\js\release\promise.js:512:31)
14 verbose stack at Promise._settlePromise (C:\Program Files\nodejs\node_modules\npm\node_modules\bluebird\js\release\promise.js:569:18)
14 verbose stack at Promise._settlePromise0 (C:\Program Files\nodejs\node_modules\npm\node_modules\bluebird\js\release\promise.js:614:10)
14 verbose stack at Promise._settlePromises (C:\Program Files\nodejs\node_modules\npm\node_modules\bluebird\js\release\promise.js:694:18)
14 verbose stack at _drainQueueStep (C:\Program Files\nodejs\node_modules\npm\node_modules\bluebird\js\release\async.js:138:12)
14 verbose stack at _drainQueue (C:\Program Files\nodejs\node_modules\npm\node_modules\bluebird\js\release\async.js:131:9)
14 verbose stack at Async._drainQueues (C:\Program Files\nodejs\node_modules\npm\node_modules\bluebird\js\release\async.js:147:5)
14 verbose stack at Immediate.Async.drainQueues [as _onImmediate] (C:\Program Files\nodejs\node_modules\npm\node_modules\bluebird\js\release\async.js:17:14)
14 verbose stack at processImmediate (internal/timers.js:439:21)
15 verbose cwd E:\ng72ng8\Fxt\Web\src\main\ui\material
16 verbose Windows_NT 10.0.17134
17 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "i" "typescript@3.4.0" "--save-dev" "--save-exact"
18 verbose node v12.4.0
19 verbose npm v6.9.0
20 error code ETARGET
21 error notarget No matching version found for typescript@3.4.0
22 error notarget In most cases you or one of your dependencies are requesting
22 error notarget a package version that doesn't exist.
23 verbose exit [ 1, true ]在这个问题上有人能帮我解决这个问题吗?
谢谢。
发布于 2019-06-11 14:24:51
Typescript没有版本3.4.0,请将其设置为不同的版本(可在此处的"Versions“选项卡中查看:https://www.npmjs.com/package/typescript),或者使版本类似于~3.4.0
发布于 2019-06-11 14:31:35
Angular 8支持TypeScript 3.4及以上版本。因此,如果我们想在我们的应用程序中使用Angular 8,那么我们需要首先将TypeScript升级到3.4或更高版本。
Typescript 3.4.0版本处于开发模式,您可以在此处看到typescript version,因此您需要在package.json文件中将Typescript版本从3.4.0更改为3.4.3。
发布于 2019-07-18 18:06:05
我在angular 8应用程序中使用"typescript": "~3.4.5"。对我来说,它像预期的那样工作。尝试升级可以使用以下命令升级的所有依赖项:
ng update @angular/cli @angular/core或
ng update --all有时此命令会抛出库不匹配问题,在这种情况下,您可以使用如下代码
ng update --force此命令将强制更新所有依赖项,其余的对等依赖项可以手动更新。
https://stackoverflow.com/questions/56537608
复制相似问题