安装完cnpm以后,在node项目中运行:cnpm install命令时,报出“Error:Cannot find module ‘fs/promises”错误。

$ cnpm install
internal/modules/cjs/loader.js:670
    throw err;
    ^

Error: Cannot find module 'fs/promises'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:668:15)
    at Function.Module._load (internal/modules/cjs/loader.js:591:27)
    at Module.require (internal/modules/cjs/loader.js:723:19)
    at require (internal/modules/cjs/helpers.js:14:16)
    at Object.<anonymous> (D:\nvm\v11.15.0\node_global\node_modules\cnpm\node_modules\npminstall\bin\install.js:7:12)
    at Module._compile (internal/modules/cjs/loader.js:816:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:827:10)
    at Module.load (internal/modules/cjs/loader.js:685:32)
    at Function.Module._load (internal/modules/cjs/loader.js:620:12)
    at Function.Module.runMain (internal/modules/cjs/loader.js:877:12)

原因1:

package.json和package-lock.json里打包工具版本不一致

原因2:

是Node.js版本太低导致的(也可以说是cnpm版本太高),由于低版本的Node.js对于promises的引入方式与高版本的是不一样,而cnpm版本太高的话,Node是不支持’fs/promises’引入方式的。

解决方案:
1、升级Node.js版本:

//清理npm缓存
$ npm cache clean -f

//安装版本管理工具
$ npm install -g n

//升级到最新的版本
$ n latest(最新版本)
$ n stable(最新稳定版本)

2、降低cnpm的版本:

//删除已安装的cnpm版本
$ npm uninstall -g cnpm

//安装低版本cnpm
$ npm install cnpm@7.1.0 -g --registry=https://registry.npm.taobao.org

重试:

作者 admin

百度广告效果展示