簡體   English   中英

由於TypeScript,TeamCity構建失敗-TS2304和TS7006

[英]TeamCity build fails because of TypeScript - TS2304 and TS7006

TeamCity Enterprise 2017.1(內部版本46533)構建失敗-使用Visual Studio 2017 Pro正常構建。

TeamCity中的構建步驟:

NuGet Installer 
Node.js NPM 
Visual Studio (sln) -> Set for Microsoft Visual Studio 2017

即使在我的本地計算機上可以正常運行,也會得到這些錯誤。 我有"noImplicitAny": true.tsconfig不wan't去改變它對於TS7006 我怎么在TeamCity中而不是在本地計算機上收到這些錯誤?

完整的錯誤日志: https//pastebin.com/Wj0f7pXr

我對TS2304: Build:Cannot find name 'object'.的最后兩個錯誤有一個想法TS2304: Build:Cannot find name 'object'. 它在日志中說:

[10:36:35] [VsTsc] C:\\Program Files (x86)\\Microsoft SDKs\\TypeScript\\2.1\\tsc.exe --project "T:\\TeamCity\\buildAgent\\work\\603ae47e37445f5d\\Project\\Project.Web\\tsconfig.json" --listEmittedFiles

對象已在TypeScript 2.2中添加,但仍無法解釋其他錯誤。

https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-2.html

來自構建服務器的TypeScript信息:

C:\Users\COMPANY-BUILD-01>tsc --version
Version 2.3.4

C:\Users\COMPANY-BUILD-01>where tsc
C:\Users\COMPANY-BUILD-01\AppData\Roaming\npm\tsc
C:\Users\COMPANY-BUILD-01\AppData\Roaming\npm\tsc.cmd

編譯錯誤(1):

T:\TeamCity\buildAgent\work\603ae47e37445f5d\Project\Project.Web\Features\Client\App.tsx(47, 9): error TS2304: Build:Cannot find name 'fetch'.
T:\TeamCity\buildAgent\work\603ae47e37445f5d\Project\Project.Web\Features\Client\App.tsx(47, 40): error TS7006: Build:Parameter 'response' implicitly has an 'any' type.
T:\TeamCity\buildAgent\work\603ae47e37445f5d\Project\Project.Web\Features\Client\App.tsx(49, 18): error TS7006: Build:Parameter 'aboutModel' implicitly has an 'any' type.
T:\TeamCity\buildAgent\work\603ae47e37445f5d\Project\Project.Web\Features\Client\App.tsx(52, 9): error TS2304: Build:Cannot find name 'fetch'.
T:\TeamCity\buildAgent\work\603ae47e37445f5d\Project\Project.Web\Features\Client\App.tsx(52, 40): error TS7006: Build:Parameter 'response' implicitly has an 'any' type.
T:\TeamCity\buildAgent\work\603ae47e37445f5d\Project\Project.Web\Features\Client\App.tsx(54, 18): error TS7006: Build:Parameter 'factsModel' implicitly has an 'any' type.
T:\TeamCity\buildAgent\work\603ae47e37445f5d\Project\Project.Web\Features\Client\App.tsx(57, 9): error TS2304: Build:Cannot find name 'fetch'.
T:\TeamCity\buildAgent\work\603ae47e37445f5d\Project\Project.Web\Features\Client\App.tsx(57, 43): error TS7006: Build:Parameter 'response' implicitly has an 'any' type.
T:\TeamCity\buildAgent\work\603ae47e37445f5d\Project\Project.Web\Features\Client\App.tsx(59, 18): error TS7006: Build:Parameter 'sidePaneModel' implicitly has an 'any' type.
T:\TeamCity\buildAgent\work\603ae47e37445f5d\Project\Project.Web\Features\Client\App.tsx(62, 9): error TS2304: Build:Cannot find name 'fetch'.
T:\TeamCity\buildAgent\work\603ae47e37445f5d\Project\Project.Web\Features\Client\App.tsx(62, 41): error TS7006: Build:Parameter 'response' implicitly has an 'any' type.
T:\TeamCity\buildAgent\work\603ae47e37445f5d\Project\Project.Web\Features\Client\App.tsx(64, 18): error TS7006: Build:Parameter 'footerModel' implicitly has an 'any' type.
T:\TeamCity\buildAgent\work\603ae47e37445f5d\Project\Project.Web\Features\Client\App.tsx(67, 9): error TS2304: Build:Cannot find name 'fetch'.
T:\TeamCity\buildAgent\work\603ae47e37445f5d\Project\Project.Web\Features\Client\App.tsx(67, 42): error TS7006: Build:Parameter 'response' implicitly has an 'any' type.
T:\TeamCity\buildAgent\work\603ae47e37445f5d\Project\Project.Web\Features\Client\App.tsx(69, 18): error TS7006: Build:Parameter 'optionsModel' implicitly has an 'any' type.
T:\TeamCity\buildAgent\work\603ae47e37445f5d\Project\Project.Web\Features\Client\App.tsx(72, 9): error TS2304: Build:Cannot find name 'fetch'.
T:\TeamCity\buildAgent\work\603ae47e37445f5d\Project\Project.Web\Features\Client\App.tsx(72, 44): error TS7006: Build:Parameter 'response' implicitly has an 'any' type.
T:\TeamCity\buildAgent\work\603ae47e37445f5d\Project\Project.Web\Features\Client\App.tsx(74, 18): error TS7006: Build:Parameter 'contactModel' implicitly has an 'any' type.
T:\TeamCity\buildAgent\work\603ae47e37445f5d\Project\Project.Web\Features\Client\Inventory\index.tsx(24, 9): error TS2304: Build:Cannot find name 'fetch'.
T:\TeamCity\buildAgent\work\603ae47e37445f5d\Project\Project.Web\Features\Client\Inventory\index.tsx(24, 44): error TS7006: Build:Parameter 'response' implicitly has an 'any' type.
T:\TeamCity\buildAgent\work\603ae47e37445f5d\Project\Project.Web\Features\Client\Inventory\index.tsx(26, 18): error TS7006: Build:Parameter 'inventory' implicitly has an 'any' type.
T:\TeamCity\buildAgent\work\603ae47e37445f5d\Project\Project.Web\node_modules\@types\react-router\index.d.ts(82, 23): error TS2304: Build:Cannot find name 'object'.
T:\TeamCity\buildAgent\work\603ae47e37445f5d\Project\Project.Web\node_modules\@types\react-router\index.d.ts(83, 13): error TS2304: Build:Cannot find name 'object'.

檢查了VS Developer命令提示符:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community>tsc --version
Version 2.1.5

然后,我嘗試從TypeScripts主頁下載VS 17的最新版本,但結果仍然相同。

https://www.typescriptlang.org/index.html#download-links

然后,我在開發服務器上->工具->擴展和更新...->產品更新->安裝了最新的Visual Studio更新,然后啟動了Visual Studio。 對我而言,它是Visual Studio Update 15.2 (26430.13)

此版本將TypeScript提升到2.2.3,並解決了所有錯誤。

**********************************************************************
** Visual Studio 2017 Developer Command Prompt v15.0.26430.13
** Copyright (c) 2017 Microsoft Corporation
**********************************************************************

C:\Program Files (x86)\Microsoft Visual Studio\2017\Community>tsc -v
Version 2.2.3

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM