node项目更改项目名或更改项目路径位置后无法启动,提示缺少依赖
由于node项目部署需要将源代码迁移到linux上,所以直接拷贝过去了,但是执行中总是报缺少依赖,但是我依赖也打包过去了
Error: Cannot find module ‘xxx‘
先说结论:
将cnpm更改为npm下载后压缩并迁移后能正常执行
具体问题:
我尝试过将node_modules打成压缩包在迁移过去,没有效果
之后发现是cnpm下载的问题,cnpm下载的依赖只会下载package.json中包含的依赖,但是依赖的依赖没有放置在node_modules里,我查了一下是在我用户的缓存里,比如express的依赖body-parser:
[C:\Users\user\AppData\Local\Microsoft\TypeScript\5.5\node_modules@types\body-parser]
具体原因不清楚可能和cnpm部署方式有关
而npm下载的依赖会将所有依赖下载在node_modules里这样在将项目打包后不会导致找不到依赖的情况
附上npm修改源命令
淘宝镜像
npm config set registry https://registry.npmmirror.com
腾讯镜像
npm config set registry https://mirrors.cloud.tencent.com/npm/