如何从本地目录而不是全局运行 TypeScript
所以我有多个项目,每个项目使用不同类型的 TypeScript,所以我从全局卸载了它,并将其安装在项目本地,但当我运行 tsc 时,我收到一个错误:
tsc --version
internal/modules/cjs/loader.js:583
throw err;
^
Error: Cannot find module 'C:\Program Files\nodejs\node_modules\typescript\bin\tsc'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
at Function.Module._load (internal/modules/cjs/loader.js:507:25)
at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
at startup (internal/bootstrap/node.js:283:19)
at bootstrapNodeJSCore (internal/bootstrap/node.js:743:3)
root@DESKTOP-N8OLDFM /cygdrive/c/msweb/studiolite
$
我确实将以下内容添加到了我的 PATH:
/cygdrive/C/msweb/studiolite/node_modules/typescript/bin
有什么想法吗?
答案#1
你可以在 package.json 的 scripts 中添加一个条目,不仅可以运行 tsc,还可以填写你想要的标准参数,例如:
"scripts": {
"tsc": "tsc your args here"
},
然后使用
npm run tsc
那将运行来自 node_modules 的版本,而不是全局版本。
有关临时命令,请参阅 apokryfos 的 npx 回答。
答案#2
你可以使用 npx 来运行本地安装的可执行文件
示例:
npx tsc --version
如果你选择的包管理器是 yarn,那么运行 yarn tsc --version 也应该可以,但前提是你的 package.json 中没有名为 tsc 的脚本。
