Git子模块项目TypeORM安装路径异常及跨编辑器差异问题
解决TypeORM安装到子模块的问题
问题根源
你执行npm install时的工作目录是my_project/my_submodule,而非主目录my_project,所以依赖会被装在子模块里。VSCode的终端大概率默认打开时就定位到了子模块目录,这就是你和不用VSCode的团队成员出现差异的核心原因。
具体解决步骤
切换到主目录执行安装
打开终端,先切换到项目根目录:cd /你的项目路径/my_project再执行安装命令:
npm install这样TypeORM和其他依赖都会被安装到主目录的
node_modules下。清理子模块的冗余文件
把子模块里已生成的node_modules和package-lock.json删掉,避免后续混淆:rm -rf my_submodule/node_modules my_submodule/package-lock.json统一管理依赖(可选)
如果子模块不需要单独运行,可以直接删除子模块的package.json;或者用npm工作区统一管理依赖,在主目录的package.json中添加:"workspaces": [ "my_submodule" ]配置后npm会将主目录和子模块的依赖合并安装到主目录,不会重复下载。
修正VSCode终端默认路径
打开VSCode设置,搜索terminal.integrated.cwd,将默认工作目录设置为my_project根目录,以后打开终端就直接处于主目录,避免误操作。
关于rootDir配置无效的说明
tsconfig.json里的rootDir是用来控制TypeScript编译输出结构的配置项,和npm安装依赖的路径完全无关,所以调整这个配置根本不会改变依赖的安装位置。
内容的提问来源于stack exchange,提问作者Naama Cohen
相关产品推荐
相关产品推荐

