npm i报错cb() never called

问题描述

一个老项目,npm i报错cb() never called

解决

npm update

失败尝试

  1. 删除node_modules、package-lock.json
  2. (执行完1之后,下同)npm cache verify
  3. npm cache clean --force
  4. npm install --no-package-lock
  5. npm i --legacy-peer-deps
  6. 重新生成ssh key
  7. 安装yarn:npm i yarn -g,再(删了yarn.lock,执行1、2之后再执行)yarn install
  8. npm config set strict-ssl false
  9. 某一次安装后报错python2没有,安装了python2,然后还是不行
  10. 切换npm版本后再执行1、2,再npm i

解决过程

因为npm i报错的提示没有更多信息,所以选择yarn install试试:
执行yarn install报错
yarn install结果提示
根据提示,随便复制结果里的一个hash值,执行:yarn explain peer-requirements pc6c86
yarn explain peer-requirements pc6c86执行结果
根据执行结果,可知是这里是eslint-loader版本不匹配,但是eslint-loader没有更高版本了,官网提示:
this package has been deprecated
根据上面的操作可知,应该是项目有很多依赖不可用,安装不了,所以想到升级依赖:

  1. npm update
  2. npm i
  3. npm run dev报错
    在这里插入图片描述
    猜测是因为用了低版本的node(10),切到14版本再npm run dev,报错:
    在这里插入图片描述
    根据提示,执行npm rebuild node-sass
    再运行npm run dev,项目终于运行起来了
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐