【发布时间】:2017-01-23 02:55:53
【问题描述】:
我刚开始使用 Visual Studio Code,当我创建了一个名为 index.html 的新文件时,我看到了这条警告消息
全局安装的 tsc 编译器 (1.0.3.0) 和 VS Code 的语言服务 (1.8.10) 之间的版本不匹配
有人可以指导我如何解决这个问题。
这是严重的还是我可以忽略。我用谷歌搜索但无法获得太多信息
谢谢
【问题讨论】:
我刚开始使用 Visual Studio Code,当我创建了一个名为 index.html 的新文件时,我看到了这条警告消息
全局安装的 tsc 编译器 (1.0.3.0) 和 VS Code 的语言服务 (1.8.10) 之间的版本不匹配
有人可以指导我如何解决这个问题。
这是严重的还是我可以忽略。我用谷歌搜索但无法获得太多信息
谢谢
【问题讨论】:
如果您并不真正关心您使用的 tsdk 版本,您可以删除“typescript.tsdk”并使用嵌入在代码中的那个。
【讨论】:
你会认为这是微软的产品,他们会在他们的网站上提供 Windows 路径
https://code.visualstudio.com/docs/languages/typescript#_using-newer-typescript-versions
但他们没有。它们只给出 Unix 路径类型。 采用:- 在 Windows 上:“typescript.tsdk”:“C:/Users/YourNameHere/AppData/Roaming/npm/node_modules/typescript/lib/”
请注意,即使 Windows 使用反向笔划作为路径,也必须使用正向笔划!
其他一些答案错过了最后一次必要的向前冲程。
【讨论】:
"C:\\Users\\YourNameHere\\AppData\\...
以上解决方案都不适合我 - 首先这是我想要更新到最新版本的全局 tsc。
我做了一些调查后发现问题出在系统的 PATH 变量上; tsc.cmd(连同 tscserver.cmd)存在于这些位置:
您可以做的是调整环境\用户变量,以便 tsc 命令首先从 %USERPROFILE% 而不是 Program Files 解析>.
快速而肮脏的方法是从 Program Files 路径中删除 tsc.cmd 和 tscserver.cmd。
【讨论】:
我遇到此问题的原因(在 Mac OS X 10.12.2 上的 VSCode 1.8 中)是我一直在使用 NVM,当我的代码在 NVM 版本上运行时,VSCode 正在查看节点的系统安装.
仔细检查您使用哪个 npm 安装来全局安装 typescript。如果有疑问(在 linux/mac 上),请从命令行使用 which 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 中查找节点。
【讨论】:
之所以生成此错误,是因为我在系统路径变量中引用了较旧的 TypeScript 安装:
C:\Program Files (x86)\Microsoft SDKs\TypeScript\1.0\
删除此条目后,Visual Studio Code 错误已解决。
但是,我的 TypeScript 文件随后无法转换,因为构建操作找不到 tsc.exe 文件。
安装 SDK 时(通过 Visual Studio 或通过手动安装 *.visx),将安装 tsc.exe 文件并更新 PATH 环境变量以引用该文件所在的文件夹(见上文)。
还有另一种使用 node.js 在 Windows 环境中转换文件的方法:
使用 npm 安装 TypeScript:
npm install -g typescript
这会将 TypeScript 文件添加到您的个人资料 AppData 文件夹中:
C:\Users\{your_user_name}\AppData\Roaming\npm\node_modules\typescript\lib
配置您的 Visual Studio Code 用户 settings.json 文件以引用此文件夹:
添加/更新用户 PATH 环境变量以引用包含tsc.cmd 文件的文件夹:
%USERPROFILE%\AppData\Roaming\npm
【讨论】:
安装 v2.0.3 的 typescript 是不够的...但是随后更新对 package.json 的版本依赖对我有用。
npm 命令:
npm install -g typescript@2.0.3
package.json 上的更新行:
"typescript": "^2.0.3"
【讨论】:
安装 VSCode 1.6.0 为我修复了 TypeScript 版本不匹配警告消息。
【讨论】:
[更新]VS Code 1.6 now ships with TypeScript 2.0.3.
我刚刚安装了最新的 Typescript,目前是 v.2.0.3,并在 macOS Sierra 上安装了 VS Code v.1.5.3。出于某种原因,完全遵循官方文档对我不起作用。
我是这样工作的:
全局安装最新版本后:
npm i -g typescript,我在我的settings.json 文件中添加了以下行(由cmd + , 打开):
"typescript.tsdk": "/usr/local/lib/node_modules/typescript/lib",
希望这对其他人有所帮助。
[update] 正如@ptpaterson 在下面的评论中提到的那样,在 Windows 上的路径是:"typescript.tsdk": "C:/Users/{user_name}/AppData/Roaming/npm/node_modules/typescript/lib/"
【讨论】:
"typescript.tsdk": "C:/Users/{user_name}/AppData/Roaming/npm/node_modules/typescript/lib/" 在 Windows 上为我服务。但这正是我所需要的。
/types^^cript/lib 。请删除它们
我将此添加到我的settings.json 文件中,通过preferences > Workspace Settings 访问:
"typescript.tsdk": "node_modules/typescript/lib"
现在我不再收到此错误,并且在屏幕的右下角显示我已安装的当前版本的 Typescript。
【讨论】:
"typescript.tsdk": "node_modules/typescript/lib" 时,我收到警告 The path c:\temp\typescript\code\node_modules\typescript\lib doesn't point to a valid tsserver install. Falling back to bundled TypeScript version. 我必须使用完整路径。 "typescript.tsdk": "C:\\Users\\wekel\\AppData\\Roaming\\npm\\node_modules\\typescript\\lib"我正在使用 VS Code 1.9.1。
全局安装 TypeScript 以跨工作区共享安装。在这种情况下,您使用npm install -g typescript@next 安装它。
然后您必须使用 typescript.tsdk 设置告诉 VS Code 在 setting.json 文件 (File -> Preferences -> Workspace Settings) 上的安装位置。将 typescript.tsdk 设置为包含已安装 TypeScript 模块的 tsserver.js 文件的 lib 文件夹的路径。
在窗户上:
"typescript.tsdk": "C:/Users/<MyUser>/AppData/Roaming/npm/node_modules/typescript/lib"
在 Mac 上:
"typescript.tsdk": "/usr/local/lib/node_modules/typescript/lib"
【讨论】:
您必须更改 Visual Code 使用的 TypeScript 版本以匹配您已安装的版本:
https://code.visualstudio.com/docs/languages/typescript#_using-newer-typescript-versions
以上摘自链接:
如果您想使用较新版本的 TypeScript,您可以定义 typescript.tsdk 设置(文件 > 首选项 > 用户/工作区设置)指向包含 TypeScript tsserver.js 文件的目录。
可以使用npm list typescript找到安装位置,tsserver.js一般在lib文件夹下。
例如:
{ "typescript.tsdk": "node_modules/typescript/lib" }
【讨论】:
之后您必须更新您的 Typescript 安装并重新启动代码:
npm install -g typescript
或
npm install -g typescript@1.8.10
如果有效,则该消息不应再出现。
【讨论】: