2016-09-15 180 views
42

我刚开始使用Visual Studio代码玩,当我创建了一个名为index.html的新文件,我出这个警告信息的版本不匹配

的版本不匹配全球安装的tsc编译器(1.0.3.0)和VS Code的语言服务(1.8.10)有

有人可以请指导我,我必须做些什么来解决这个问题。

这是严重的还是我可以忽略的。我用Google搜索,但未能获得太多信息

感谢

enter image description here

回答

10

您需要更新您的打字稿安装后重新启动代码:

npm install -g typescript 

npm install -g [email protected] 

的消息不应该再出现,如果它工作。

+0

我没有工作。我不得不通过点击不再检查来压制消息。 – VivekDev

10

你必须改变打字稿的版本的Visual代码使用,以配合您所安装的版本:

https://code.visualstudio.com/docs/languages/typescript#_using-newer-typescript-versions

以上是从链接采取:

如果您想要使用更新版本的TypeScript,可以定义指向包含TypeScript tsserver.js文件的目录的typescript.tsdk设置(文件>首选项>用户/工作区设置)。

您可以使用npm list typescript找到安装位置,tsserver.js通常位于lib文件夹下。

例如:

{ 
    "typescript.tsdk": "node_modules/typescript/lib" 
} 
17

[UPDATE] VS Code 1.6 now ships with TypeScript 2.0.3

我刚刚安装了最新的Typescript,当前为v.2.0.3,并在macOS Sierra上安装了VS代码v.1.5.3。出于某种原因,完全遵循官方文档并不适合我。

以下是我做它的工作:

已经安装在全球的最新版本后: npm i -g typescript,我添加下面一行到我settings.json文件(cmd + ,打开):

"typescript.tsdk": "/usr/local/lib/node_modules/typescript/lib",

希望这可以帮助别人。

[更新]作为下面的评论中提到@ptpaterson,Windows上的路径是:"typescript.tsdk": "C:/Users/{user_name}/AppData/Roaming/npm/node_modules/typescript/lib/"

+4

'typescript.tsdk“:”C:/ Users/{user_name}/AppData/Roaming/npm/node_modules/typescript/lib /“'在windows上。但这是我需要的。 – ptpaterson

+1

谢谢你的@ptpaterson。我将这个信息添加到答案中。 – rafaelbiten

+1

@rafaelbiten你的Windows路径中有两个隐藏的字符。 '/ types ^^ cript/lib'。请删除它们 –

28

我说这个我settings.json文件,通过preferences > Workspace Settings访问:

"typescript.tsdk": "node_modules/typescript/lib"

现在我不再收到这个错误,并且在屏幕的右下角显示了我已安装的Typescript的当前版本。

+1

这是Windows上的正确答案(不需要长显式路径) –

+1

文件>首选项>工作区设置(感谢https://code.visualstudio.com/Docs/customization/userandworkspace) – Reid

+2

在Windows上,当我使用''typescript.tsdk“:”node_modules/typescript/lib“',我得到一个警告'路径c:\ temp \ typescript \ code \ node_modules \ typescript \ lib没有指向有效的tsserver安装。回落到捆绑的TypeScript版本。“我不得不使用完整的路径。 '“typescript.tsdk”:“C:\\ Users \\ wekel \\ AppData \\ Roaming \\ npm \\ node_modules \\ typescript \\ lib”'我正在使用VS Code 1.9.1。 – Wally

1

全局安装TypeScript以跨工作区共享安装。在这种情况下,您使用npm install -g [email protected]进行安装。

然后您必须使用typescript.tsdk设置告诉VS代码setting.json文件(File -> Preferences -> Workspace Settings)安装位置。将typescript.tsdk设置为包含安装的TypeScript模块的tsserver.js文件的lib文件夹的路径。

在Windows上: "typescript.tsdk": "C:/Users/<MyUser>/AppData/Roaming/npm/node_modules/typescript/lib"

在Mac: "typescript.tsdk": "/usr/local/lib/node_modules/typescript/lib"

1

安装VSCode 1.6.0固定的打字稿版本不匹配,我警告信息。

3

安装v2.0.3 typescript是不够的......但是,然后更新package.json的版本依赖关系为我工作。

NPM命令:

"typescript": "^2.0.3" 
8

,因为我必须在我的系统路径变量的旧安装打字稿的参考正在生成此错误:上的package.json

npm install -g [email protected] 

更新行:

C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\ 

当我删除此条目时,Visual Studio代码错误已解决。

但是,由于生成操作无法找到tsc.exe文件,因此我的TypeScript文件无法传输。

当安装SDK(通过Visual Studio或通过手动安装*.visx)时,会安装tsc.exe文件并更新PATH环境变量以引用此文件所在的文件夹(请参见上文)。

还有另一种方法,通过使用Node.js的到transpile您在Windows环境下的文件:

  • 安装node.js中安装包可以在here找到。
  • 使用NPM安装打字稿:

    npm install -g typescript

    这将打字稿文件添加到您的个人资料AppData文件夹:

    C:\Users\{your_user_name}\AppData\Roaming\npm\node_modules\typescript\lib

  • 配置您的Visual Studio代码用户settings.json文件引用此文件夹:

     
    { 
    "typescript.tsdk": "C:\\Users\\{your_user_name}\\AppData\\Roaming\\npm\\node_modules\\typescript\\lib" 
    }
  • 添加/更新用户 PATH环境变量,以引用包含tsc.cmd文件的文件夹:

    %USERPROFILE%\AppData\Roaming\npm

1

我这个问题的经验的原因(在VSCode 1.8在Mac OS X 10.12.2)是我一直在使用NVM,而我的代码在NVM版本上运行时,VSCode正在查看节点的系统安装。

仔细检查您正在使用哪种npm安装来全局安装打字稿。如果有疑问(在linux/mac上),请使用命令行中的which tsc来验证VSCode正在使用的位置。

例如,如果我只是致电npm i -g typescriptnpm解析为~/.nvm/versions/node/v6.9.1/bin/npm。我必须明确地调用/usr/local/bin/npm i -g typescript来解决问题,因为默认情况下,VSCode在/usr/local/bin/node中查找节点。

0

如果您选择在事后忽略,那么你可以通过首选项添加到您的settings.json文件:

"typescript.check.tscVersion": false 

根据VS代码1.10.2注释:

检查全局安装的TypeScript编译器(例如tsc)是否与使用的TypeScript语言服务的 不同。

+0

对不起队友,因为这个解决方案只是在最好的解决方案是实际使版本保持一致时才会弹出通知。该通知是有原因的。为了这个答案被表决,应该提出一个真正的解决方案,除了删除通知之外。 – AlexRebula

4

上述解决方案都不适用于我 - 首先这是全球tsc我想更新到最新版本。

我做了一些调查后发现问题在于系统的PATH变量; tsc.cmd(连同tscserver.cmd)存在于这些位置:

  • C:\ Program Files文件\的NodeJS - 在npm.exe和节点位置。exe文件是
  • %USERPROFILE%\应用程序数据\漫游\ NPM - 在全球封装

你可以做的是兼顾环境\用户变量所以TSC命令将从%得到解决USERPROFILE%首先而不是程序文件

快速&肮脏的方式将只是删除tsc.cmdtscserver.cmdProgram Files文件路径。

0

你会认为这是微软的产品,他们会给予他们的网站上

https://code.visualstudio.com/docs/languages/typescript#_using-newer-typescript-versions

Windows的路径,但他们没有。它们只提供Unix路径类型。 用途: - 在Windows中: “typescript.tsdk”: “C:/用户/ YourNameHere/AppData的/漫游/ NPM/node_modules /打字稿/ lib中/”

请注意,转发招必须使用即使Windows使用对路径的反击!

其他一些答案错过了最后一次前进的冲程,这是必要的。

+1

在窗口上,使用路径的转义反斜杠:''C:\\ Users \\ YourNameHere \\ AppData \\ ...' –

+0

对不起队友,但是这样做是因为这看起来不是一个答案,而是一个评论。如果你的意思是它是一个答案,那么它似乎与问题无关。也许你可以编辑它,以更清楚地了解路径和路径格式如何解决这个问题或将其删除,并将其作为评论所以我会把它投票:) – AlexRebula

+1

@AlexRebula我不允许对其他用户的答案发表任何评论,我越投越多的可能性。 –

0

如果你真的不关心你使用的tsdk版本,你可以删除'typescript.tsdk'并使用代码中嵌入的那个。