VSCode 中,TS 提示 ”找不到模块“vue”或其相应的类型声明。“ 的不典型解决方案

1,399 阅读2分钟

报错信息

image.png

这个是一个非常小众的不典型的问题, 主要存在一下几点:

  • 项目各依赖正常,不缺少内容。
  • typescript配置正常,除这个错误外,其他各依赖、组件都能正常识别。
  • 代码能正常跑起来,运行、打包不受影响。
  • vscode 红线报错
  • 项目创建之后个配置之间都是正常的,运行一段时间后突然出现的
  • 重新安装依赖也无法解决

我的vscode报这个错误之前,重新安装过系统。项目和依赖因为都不在系统盘,新系统安装好后,添加上vscode和node的环境变量就可以直接运行跑起来。 出错后,测试过一些其他项目均无这个问题。

bug定位

之所以这个bug不典型,就在于不同常规的报错,比如配置丢失,版本更新导致的不兼容等等。 之后重新创建一个全新的项目,配置上ts后,也出现了这个bug。

推断该bug不是出在项目本身,好在vscode也是一个变相的网页,既然是网页,那更加具体的报错信息就会出现在控制台中。

vscode找到帮助,点击切换开发人员工具,打开控制台,可以看到如下报错信息:

ERR [File Watcher (node.js)] Error: EPERM: operation not permitted, stat 'e:\gzcc\test\node_modules\.pnpm\vue@3.5.10_typescript@5.5.4\node_modules\vue\dist\vue.d.ts'

根据报错信息,基本可以确定是文件的问题,信息里提到不允许操作文件,通常就是权限不够了。

通过资源管理器找到该文件,查看文件属性,点开安全选项,如下图:

image.png

修复

找到问题就好办了,既然是权限不够,给它权限就可以了。 在给予操作权限后,在回到vscode控制台,f5刷新,vscode会重新加载,等加载结束,问题即解决。