也许这是显而易见的,但我到处检查(除了正确的地方),谷歌它。什么都没有。
当前回答
As far as I understand VS has nothing to do with TS installed by NPM. (You may notice after you install TS using NPM, there is no tsc.exe file). VS targets only tsc.exe installed by TS for VS extension, which installes TS to c:\Program Files (x86)\Microsoft SDKs\TypeScript\X.Y. You may have multiple folders under c:\Program Files (x86)\Microsoft SDKs\TypeScript. Set TypeScriptToolsVersion to the highest version installed. In my case I had folders "1.0", "1.7", "1.8", so I set TypeScriptToolsVersion = 1.8, and if you run tsc - v inside that folder you will get 1.8.3 or something, however, when u run tsc outside that folder, it will use PATH variable pointing to TS version installed by NPM, which is in my case 1.8.10. I believe TS for VS will always be a little behind the latest version of TS you install using NPM. But as far as I understand, VS doesnt know anything about TS installed by NPM, it only targets whateve versions installed by TS for VS extensions, and the version specified in TypeScriptToolsVersion in your project file.
其他回答
我有VS2015,我必须用TypeScript 1.7运行一个构建,虽然我有1.8安装通过npm install TypeScript -g有两种方法(至少对我来说他们工作):
到你的.proj文件中,尽可能地添加<TypeScriptToolsVersion>1.7</TypeScriptToolsVersion>。重建,重新运行。如果不行,试试2。 进入“控制面板->系统->高级系统设置->环境变量”。确保你先添加了你想要的TypeScript版本:C:\Program Files (x86)\Microsoft sdk \TypeScript\1.7;C:\Users\serban\AppData\Roaming\npm
这也会影响你的CLI:
$ tsc -v
message TS6029: Version 1.7.5
你可以做npm list | grep typescript,如果它是通过npm安装的。
打开一个(普通的,不是VS)命令提示符或PowerShell提示符。
tsc.exe - v tsc。cmd - v tsc - v
如果你安装了相同版本的TypeScript for Visual Studio并使用npm,以上三个命令的输出应该是相同的。
如果没有,请检查System PATH,查看在路径层次结构中的位置以及列出了哪个typescript目录。对于PowerShell用户,简单的方法是: $env:path split ';'
注意不要在System PATH变量中列出任何TypeScript目录或多个TypeScript目录。截至2017年6月9日,我的系统路径看起来是这样的(只有顶部的部分,在这种情况下这是最重要的): Ps >$env:path -split ';' C:\Windows\system32 C:\Windows C:\Windows\System32\Wbem C:\Windows\System32\ WindowsPowerShell \ \ v1.0 C:\Program Files (x86)\Microsoft sdk \TypeScript\2.3 C: \ nodejs \ C:\Users\ {username} \ AppData \ \ npm徘徊
注意,PATH中只包括2.3目录,而不是多个版本。
TypeScript团队在Visual Studio 2017版本15.3及更高版本中整理了这个问题,包括免费的社区版。
如何查看Visual Studio中安装了哪些TypeScript版本
现在你所需要做的就是转到任何TypeScript Visual Studio项目的项目属性(在解决方案资源管理器/属性中右键单击项目文件),然后转到左侧的TypeScript Build选项卡。它有一个“Typescript version”下拉菜单,显示项目正在使用的版本,如果你打开它,下拉菜单会显示当前安装在Visual Studio中的所有版本的Typescript。
目前实际安装在C:\Program Files (x86)\Microsoft SDKs\TypeScript,然后是按版本号的子文件夹,至少在我电脑上的Win10上是这样。如果你想看到确切的版本(例如2.8.3而不仅仅是2.8),你可以在这里找到适当的tsc.exe,并查看它的属性(在文件资源管理器中右键单击/属性中的详细信息选项卡)。
如何安装特定的TypeScript版本
If you want to install a specific version of TypeScript then these can be found on Visual Studio Marketplace, although specific version numbers can be a little difficult to find in that list. A Google search for, for example, 'visual studio marketplace typescript 3.3.1' will usually find the exact version you want. If you install from here and restart Visual Studio the version will appear in the dropdown. Note also that some of the latest versions of TypeScript (e.g. 4.2) will refuse to install if there's a more recent version installed.
Node.js控制台应用程序
这个答案不适用于“Node.js控制台应用程序”项目类型,该项目属性中没有TypeScript Build选项卡。这是因为它使用了一个使用npm安装在项目文件夹中的TypeScript版本。版本可以在包中查看和更改。json文件,安装时出现在解决方案资源管理器的npm条目下,以及磁盘上的node_modules/typescript文件夹中。
如果你想知道在一个特定的项目中使用了什么版本的Typescript,去你的package-lock。json文件。你会发现这样的东西:
"typescript": {
"version": "3.5.3"
}
推荐文章
- 'this'隐式具有类型'any',因为它没有类型注释
- 如何禁用诊断工具?
- 在TypeScript中声明抽象方法
- Visual Studio单击“查找结果”在错误的窗口中打开代码
- 如何强制tsc忽略node_modules文件夹?
- TypeScript for…的索引/键?
- 如何在Typescript中获得一个变量类型?
- 无法打开Visual Studio -抛出错误“安装过程中无法运行”
- 我在哪里可以找到安装在Visual Studio中的TypeScript版本?
- 在Handsontable Cells中渲染Angular组件
- 在TypeScript / Angular中什么时候使用Interface和Model
- 如何在Typescript中解析JSON字符串
- TypeScript中的extends和implements有什么区别
- Visual Studio代码如何解决合并冲突与git?
- _references.js是用来做什么的?