vscode下搭建typescript时提示"无法将“npm”项识别为 cmdlet函数脚本文件或可运行程序的名称"错误的解决方法

Posted kugar

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vscode下搭建typescript时提示"无法将“npm”项识别为 cmdlet函数脚本文件或可运行程序的名称"错误的解决方法相关的知识,希望对你有一定的参考价值。

根据网上的教程,安装了node.js后,再安装了typescript,,,这时候编译生成或者在vscode的终端里调用npm或者tsc --version时,总是提示

npm : 无法将“npm”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
所在位置 行:1 字符: 1
+ npm install typescript --save -dev
+ ~~~
+ CategoryInfo : ObjectNotFound: (npm:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

或者 

tsc : 无法将“tsc”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后再试一次。
所在位置 行:1 字符: 1
+ tsc --version
+ ~~~
+ CategoryInfo : ObjectNotFound: (tsc:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

 

但是,,在普通的powershell中,这两个命令行却是正常使用的,,在查找很多文章无果后,仔细查找,发觉,原来是我用vscode创建了"工作区",,然后不知道为什么在.code-workspace文件中,居然是这样的:{

 {   
   "folders": [
        {
            "path": "."
        }
    ],
    "settings": {
        "terminal.integrated.env.windows": {
            "PATH": "C:\Users\xxx\.platformio\penv\Scripts;此处省略N个路径", //最大问题出在这里
            "PLATFORMIO_CALLER": "vscode"
        },
        "files.associations": {
            "user_config.h": "c"
        }
    }
}

 


最大问题出在了PATH的值上,,由于我是先创建的工作区,后安装的npm和typescript,而创建工作区的时候,不知道为什么,vscode居然把环境变量的PATH复制一份进来,从而导致后来安装的npm和typescript的目录没在PATH中,导致了在vscode的终端里,不能直接使用tsc命令,,

解决的方法也很简单,把PATH去掉,,重新启动vscode或者新建一个终端就可以了,,,,

以上是关于vscode下搭建typescript时提示"无法将“npm”项识别为 cmdlet函数脚本文件或可运行程序的名称"错误的解决方法的主要内容,如果未能解决你的问题,请参考以下文章

VScode搭建TypeScript开发环境

TypeScript环境搭建,并且部署到VSCode(亲测有效)

使用vscode 搭建 typescript 的nodejs 自动编译自动启动服务

VSCode 自动补全(智能提示)

关于VScode vue3卡顿

一键Swagger类型转为typescript类型(vscode插件)