Visual studio code tsc编译器和VS代码之间的版本不匹配';s语言服务
我刚开始使用Visual Studio代码,当我创建了一个名为index.html的新文件时,我看到了以下警告消息 全球安装的tsc编译器(1.0.3.0)和VS代码的语言服务(1.8.10)之间存在版本不匹配问题 有人能告诉我怎么做才能解决这个问题吗 这是严重的还是我可以忽略。我在谷歌上搜索了一下,但找不到太多的信息 谢谢Visual studio code tsc编译器和VS代码之间的版本不匹配';s语言服务,visual-studio-code,Visual Studio Code,我刚开始使用Visual Studio代码,当我创建了一个名为index.html的新文件时,我看到了以下警告消息 全球安装的tsc编译器(1.0.3.0)和VS代码的语言服务(1.8.10)之间存在版本不匹配问题 有人能告诉我怎么做才能解决这个问题吗 这是严重的还是我可以忽略。我在谷歌上搜索了一下,但找不到太多的信息 谢谢 您必须更新Typescript安装,然后重新启动代码: npm install -g typescript 或 如果消息有效,则不应再显示该消息。您必须更改可视代码用于匹
您必须更新Typescript安装,然后重新启动代码:
npm install -g typescript
或
如果消息有效,则不应再显示该消息。您必须更改可视代码用于匹配已安装版本的TypeScript版本: 以上内容摘自链接: 如果要使用较新版本的TypeScript,可以定义TypeScript.tsdk设置(文件>首选项>用户/工作区设置),指向包含TypeScript tsserver.js文件的目录 您可以使用npm list typescript找到安装位置,tsserver.js通常位于lib文件夹下 例如:
{
"typescript.tsdk": "node_modules/typescript/lib"
}
[更新]
VS code 1.6现在随TypeScript 2.0.3一起提供
我刚刚在macOS Sierra上安装了最新的Typescript,目前是v.2.0.3
,并安装了VS codev.1.5.3
。出于某种原因,严格遵守官方文件对我来说不起作用
以下是我是如何做到这一点的:
在全球范围内安装最新版本后:
npm i-g typescript
,我在我的settings.json
文件中添加了以下行(由cmd+,
打开):
“typescript.tsdk”:“/usr/local/lib/node\u modules/typescript/lib”,
希望这对其他人有帮助
[update]正如@ptpaterson在下面的评论中提到的,在Windows上,路径是:
“typescript.tsdk”:“C:/Users/{user\u name}/AppData/Roaming/npm/node\u modules/typescript/lib/”
我将其添加到我的设置.json
文件中,通过首选项>工作区设置
访问:
“typescript.tsdk”:“节点\模块/typescript/lib”
现在我不再收到这个错误,屏幕右下角显示了我安装的Typescript的当前版本 全局安装TypeScript以跨工作区共享安装。在本例中,您可以使用
npm install-g安装它typescript@next
然后,您必须使用typescript.tsdk设置在setting.json
文件(file->Preferences->Workspace Settings
)上告诉VS Code安装位置。将typescript.tsdk设置为包含安装的typescript模块的tsserver.js
文件的lib文件夹的路径
在windows上:
“typescript.tsdk”:“C:/Users//AppData/Roaming/npm/node\u modules/typescript/lib”
在Mac上:
“typescript.tsdk”:“/usr/local/lib/node_modules/typescript/lib”
安装VSCode 1.6.0修复了我的typescript版本不匹配警告消息。安装typescript的v2.0.3是不够的。。。但是更新package.json上的版本依赖关系对我来说很有效
Npm命令:
npm install -g typescript@2.0.3
更新了package.json上的行:
"typescript": "^2.0.3"
之所以生成此错误,是因为我的系统路径变量中引用了较旧的TypeScript安装:
C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\
当我删除此条目时,Visual Studio代码错误已得到解决
但是,由于生成操作找不到tsc.exe
文件,因此我的TypeScript文件无法传输
安装SDK时(通过Visual Studio或手动*.visx
安装),将安装tsc.exe
文件,并更新PATH环境变量以引用此文件所在的文件夹(请参见上文)
通过使用node.js,还有另一种在Windows环境中传输文件的方法:
- 安装node.js。可以找到安装包
- 使用npm安装TypeScript:
这将把TypeScript文件添加到您的profilenpm安装-g typescript
文件夹中:AppData
C:\Users\{your\u user\u name}\AppData\Roaming\npm\node\u modules\typescript\lib
- 配置Visual Studio代码用户
设置.json
文件以引用此文件夹: { "typescript.tsdk": "C:\\Users\\{your_user_name}\\AppData\\Roaming\\npm\\node_modules\\typescript\\lib" } { “typescript.tsdk”:“C:\\Users\\{your_user_name}\\AppData\\Roaming\\npm\\node\u modules\\typescript\\lib” } - 添加/更新userPATH环境变量以引用包含
文件的文件夹:tsc.cmd
%USERPROFILE%\AppData\Roaming\npm
哪个tsc
来验证VSCode正在使用的位置
例如,如果我只调用
npm I-g typescript
,npm
解析为~/.nvm/versions/node/v6.9.1/bin/npm
。我必须通过显式调用/usr/local/bin/npm I-g typescript来解决这个问题,因为VSCode默认在/usr/local/bin/node
中查找节点。上述解决方案中没有一个对我有效-首先,这是我想要更新到最新版本的全局tsc
在我做了一些调查之后,发现问题在于系统的路径变量tsc.cmd(连同tscserver.cmd)存在于以下位置:
- c:\Program Files\nodejs-其中包含npm.exe和node.exe
{
"typescript.tsdk": "C:\\Users\\{your_user_name}\\AppData\\Roaming\\npm\\node_modules\\typescript\\lib"
}