webstorm 找不到 tsc 或 sass 的根本原因是默认不读全局 path 也不自动探测 node_modules 二进制,需手动指定本地路径或配置全局 path;file watcher 必须选 tsconfig.json、working directory 设为项目根目录、勾选自动保存和外部变更触发,vue/react 项目还需启用对应插件并正确配置 tsconfig.json 的 types。

WebStorm 找不到 tsc 或 sass 怎么办
根本原因不是编译器没装,而是 WebStorm 默认不读全局命令路径,也不自动探测本地 node_modules 里的可执行文件。
- 终端能跑
tsc -v或sass --version≠ WebStorm 能看见——它只认你手动指定的路径或项目本地二进制 - 推荐统一走本地安装:
npm install typescript --save-dev、npm install sass --save-dev,然后在设置里指向node_modules/typescript/lib/tsc.js或node_modules/.bin/sass - 若坚持用全局安装,macOS/Linux 需确认 WebStorm 启动时的
PATH包含/usr/local/bin或~/.npm-global/bin;Windows 建议直接填完整路径,如C:\Users\XXX\AppData\Roaming\npm\tsc.cmd
File Watcher 选 “tsconfig.json” 还是 “TypeScript”
选错类型会导致参数被硬编码、忽略 tsconfig.json 配置,比如 outDir 白设、skipLibCheck 不生效。
- 必须选
tsconfig.json(不是TypeScript),这样 Watcher 才会真正加载你的配置文件 -
Working directory必须设为项目根目录(即tsconfig.json所在路径),否则tsc启动时找不到配置 - Arguments 字段建议只填
--project $ProjectFileDir$/tsconfig.json,其余开关(如--noEmit)应写在tsconfig.json的compilerOptions里,避免重复或冲突
保存后没生成 JS 或 CSS,Event Log 也没报错
这不是编译失败,而是 Watcher 根本没触发——常见于两个隐藏开关没打开。
- 必须勾选
Auto-save edited files to trigger the watcher(否则改完不保存就不编译) - 必须勾选
Trigger the watcher on external changes(否则 Git 切分支、Prettier 格式化、其他编辑器改文件都不会触发) - Watch patterns 默认不匹配
_partial.scss这类下划线开头文件,需手动改成*.scss;_*.scss
Vue / React 项目里 TS 提示全红,但 tsc -b 能过
IDE 类型服务和 CLI 编译走的是两套路径,tsc 成功不代表 WebStorm 的语言服务能加载类型定义。
- 确保已启用 Vue.js 插件(Settings → Plugins),且
.vue文件里明确写了<script lang="ts"></script> -
tsconfig.json中"types"至少包含["node", "vue"](Vue 3)或["node", "react", "react-dom"](React) - 如果用了 Vite,
"types"还要加"vite/client";Webpack 项目则加"webpack-env",否则import.meta.env之类会标红
tsc 或 sass,只是把它们串起来。最容易被忽略的点是:**所有路径都以 tsconfig.json 或项目根目录为基准,而不是当前文件位置**——一旦 Working directory 或 $ProjectFileDir$ 指错,整个链就断了。











