删除node_modules后如何重装依赖?运行Mongoose示例报错求助
嘿,我来帮你搞定这两个问题!
一、重新安装所有依赖包
你已经删除了node_modules目录,要重新安装所有依赖其实很简单:
- 确保你现在处于项目的根目录(就是有
package.json文件的那个文件夹) - 在终端里运行以下命令:
如果你用yarn的话就运行:npm install
这个命令会读取yarn installpackage.json里记录的所有依赖项,自动下载并重新构建node_modules目录。
二、解决"Cannot find module './timestamp'"报错
先看看你遇到的具体报错:
module.js:540 throw err; ^ Error: Cannot find module './timestamp' at Function.Module._resolveFilename (module.js:538:15) at Function.Module._load (module.js:468:25) at Module.require (module.js:587:17) at require (internal/module.js:11:18) at Object.
(/Users/taylorlassiter/Desktop/visual_studio/yelp_camp/node_modules/bson/lib/bson/bson.js...
这个错误是因为bson模块(Mongoose依赖的一个包)里缺少了timestamp.js文件,大概率是依赖安装不完整或者缓存出问题了,试试下面的解决方案:
方案1:清除npm缓存后重新安装
先清理npm的缓存,避免残留的损坏文件影响:npm cache clean --force然后再重新安装所有依赖:
npm install方案2:删除锁文件后重装
如果方案1没用,试试删除package-lock.json(npm的锁文件)或者yarn.lock(yarn的锁文件),然后再删除一次node_modules,最后重新运行npm install。这样能确保重新拉取所有依赖的完整版本。方案3:单独修复bson模块
直接删除node_modules里的bson文件夹,然后单独安装这个包:rm -rf node_modules/bson npm install bson要是还是有问题,可以指定一个稳定版本安装,比如:
npm install bson@4.7.2方案4:升级npm版本
旧版本的npm可能会有一些安装bug,试试升级到最新版:npm install -g npm
完成上面的步骤后,再运行你的cats.js应该就能正常工作啦!
内容的提问来源于stack exchange,提问作者TLassiter092

