【问题标题】:How to run TypeScript from local directory instead of global如何从本地目录而不是全局目录运行 TypeScript
【发布时间】:2019-10-27 04:25:04
【问题描述】:

所以我有多个项目,每个项目都使用 diff 类型的 TypeScript,所以我从全局卸载并将它放在我的项目本地,但是当我运行 tsc 时出现以下错误:

$ tsc --版本 内部/模块/cjs/loader.js:583 抛出错误; ^ 错误:找不到模块 'C:\Program Files\nodejs\node_modules\typescript\bin\tsc' 在 Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15) 在 Function.Module._load (internal/modules/cjs/loader.js:507:25) 在 Function.Module.runMain (internal/modules/cjs/loader.js:742:12) 启动时(内部/bootstrap/node.js:283:19) 在 bootstrapNodeJSCore (内部/bootstrap/node.js:743:3) root@DESKTOP-N8OLDFM /cygdrive/c/msweb/studiolite $

我确实在我的 PATH 中添加了以下内容:

/cygdrive/C/msweb/studiolite/node_modules/typescript/bin

有什么想法吗?

【问题讨论】:

  • 使用你的包管理器(Npm、Yarn 或任何你用来管理项目包的东西)运行tsc。它会启动当前项目中安装的tsc 实例并忽略全局安装的实例(即您甚至不需要卸载它)。
  • @apokryfos - 我会将其发布为答案,而不是评论。
  • 不幸的是,我必须运行 tsc 而不是 npx,因为我也在使用 WebStorm,所以我需要 Windows 中的所有内容来获取本地 tsc.exe
  • @born2net - WebStorm 不能使用 npx 或为你处理这个?这似乎令人惊讶。
  • 应该有一个选项来指定 typescript 在 webstorm 中的位置。 PhpStorm 中有一个,我认为这两个共享一个核心。只需尝试搜索选项

标签: typescript


【解决方案1】:

您可以使用npx 运行本地安装的可执行文件

例子:

npx tsc --version

如果您选择的包管理器是 yarn,那么执行 yarn tsc --version 也应该有效,但前提是您的 package.json 中没有名为 tsc 的脚本。

【讨论】:

  • 感谢您的回答,这可能适用于命令行,但我还需要 WebStorm 来拾取 ./node_modules tsc .. 有没有办法告诉 env 中的所有内容来拾取 tsc具体路径?
  • @born2net - 我想你可能想把它作为一个单独的、特定于 WebStorm 的问题来问。您提出的问题没有提到 WebStorm(并且 确实 显示了命令行示例),因此吸引了通用的命令行答案。一旦有了答案,就不适合更改问题。
【解决方案2】:

您可以在package.json 中向scripts 添加一个条目,不仅可以运行tsc,还可以填写您想要的标准参数,例如:

"scripts": {
  "tsc": "tsc your args here"
},

然后使用

npm 运行 tsc

这将运行来自node_modules 的那个,而不是全局的。

有关临时命令,请参阅apokryfos's npx answer

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-06-03
    • 2020-07-10
    • 2012-04-16
    • 1970-01-01
    • 2013-08-23
    • 1970-01-01
    相关资源
    最近更新 更多