我希望能够在我的主机+来宾操作系统上运行我的项目的npx tsc。但是来宾使用的是不同(旧的)版本的tsc --我不知道它是从哪里来的。
我的设置:
npm -g ls typescript上运行host+guest显示为“空”,而单独运行"tsc“并不像预期的那样工作)。我有一个带有TypeScript 3.3.3333的项目安装在带有NPM的项目中。
当我将cd 放到项目文件夹并运行:时,Windows主机操作系统上的
npm ls typescript我看到输出:typescript@3.3.3333 (如预期的)npx tsc --version我看到输出:Version 3.3.3333 (如预期的)当我将cd 放到项目文件夹并运行:时,Linux来宾操作系统中的
npm ls typescript我看到输出:typescript@3.3.3333 (如预期的)npx tsc --version因此,我无法运行npx tsc来编译来宾内部的代码,因为它不支持一些新的tsconfig设置。
tsc 1.5.3版本从何而来,我该如何摆脱它?
或者,我是否可以在主机上运行其他NPM命令,将一个可用的tsc安装到对两个Windows+Linux都有效的项目中?
另外,上面的父文件夹()中没有一个我的项目的根有一个node_modules文件夹(当然,我的项目的根有它的node_modules子文件夹)。
发布于 2019-03-13 09:39:44
TypeScript二进制文件之所以称为tsc,是因为它很短。当它没有全局安装时,npx无法知道tsc引用了用于typescript包的tsc二进制文件。npx tsc指的是 package。
可以修复的一种方法是显式地指定包名:
npx -p typescript tsc这里的实际问题是,该项目依赖于全局TypeScript安装。在项目依赖项中使用typescript编写项目并引用package.json NPM脚本中的本地安装是很常见的:
...
"scripts": {
"build": "tsc"
},
"devDependencies": {
"typescript": "~3.3.0"
"
...https://stackoverflow.com/questions/55138134
复制相似问题