根據網上的教程,安裝了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或者新建一個終端就可以了,,,,