Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio code tsc编译器和VS代码之间的版本不匹配';s语言服务_Visual Studio Code - Fatal编程技术网

Visual studio code tsc编译器和VS代码之间的版本不匹配';s语言服务

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 或 如果消息有效,则不应再显示该消息。您必须更改可视代码用于匹

我刚开始使用Visual Studio代码,当我创建了一个名为index.html的新文件时,我看到了以下警告消息

全球安装的tsc编译器(1.0.3.0)和VS代码的语言服务(1.8.10)之间存在版本不匹配问题

有人能告诉我怎么做才能解决这个问题吗

这是严重的还是我可以忽略。我在谷歌上搜索了一下,但找不到太多的信息

谢谢


您必须更新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 code
v.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:

    npm安装-g typescript

    这将把TypeScript文件添加到您的profile
    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


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

仔细检查用于全局安装typescript的npm安装。如果有疑问(在linux/mac上),请使用命令行中的
哪个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