完整报错如下:

C:\Windows\system32>npm install cnpm -g
npm WARN rollback Rolling back minipass@3.3.6 failed (this is probably harmless): EPERM: operation not permitted, lstat ‘C:\Users\QGLiu\AppData\Roaming\npm\node_modules\cnpm\node_modules\minipass-fetch\node_modules’
npm WARN notsup Unsupported engine for cnpm@9.4.0: wanted: {“node”:”>= 14.18.0″} (current: {“node”:”14.3.0″,”npm”:”6.14.5″})
npm WARN notsup Not compatible with your version of node/npm: cnpm@9.4.0

npm ERR! code EPERM
npm ERR! syscall rename
npm ERR! path C:\Users\QGLiu\AppData\Roaming\npm\node_modules\cnpm\node_modules\.make-fetch-happen.DELETE\node_modules\@npmcli
npm ERR! dest C:\Users\QGLiu\AppData\Roaming\npm\node_modules\cnpm\node_modules\make-fetch-happen\node_modules\@npmcli
npm ERR! errno -4048
npm ERR! Error: EPERM: operation not permitted, rename ‘C:\Users\QGLiu\AppData\Roaming\npm\node_modules\cnpm\node_modules\.make-fetch-happen.DELETE\node_modules\@npmcli’ -> ‘C:\Users\QGLiu\AppData\Roaming\npm\node_modules\cnpm\node_modules\make-fetch-happen\node_modules\@npmcli’
npm ERR! [OperationalError: EPERM: operation not permitted, rename ‘C:\Users\QGLiu\AppData\Roaming\npm\node_modules\cnpm\node_modules\.make-fetch-happen.DELETE\node_modules\@npmcli’ -> ‘C:\Users\QGLiu\AppData\Roaming\npm\node_modules\cnpm\node_modules\make-fetch-happen\node_modules\@npmcli’] {
npm ERR!cause: [Error: EPERM: operation not permitted, rename ‘C:\Users\QGLiu\AppData\Roaming\npm\node_modules\cnpm\node_modules\.make-fetch-happen.DELETE\node_modules\@npmcli’ -> ‘C:\Users\QGLiu\AppData\Roaming\npm\node_modules\cnpm\node_modules\make-fetch-happen\node_modules\@npmcli’] {
npm ERR! errno: -4048,
npm ERR! code: ‘EPERM’,
npm ERR! syscall: ‘rename’,
npm ERR! path: ‘C:\\Users\\QGLiu\\AppData\\Roaming\\npm\\node_modules\\cnpm\\node_modules\\.make-fetch-happen.DELETE\\node_modules\\@npmcli’,
npm ERR! dest: ‘C:\\Users\\QGLiu\\AppData\\Roaming\\npm\\node_modules\\cnpm\\node_modules\\make-fetch-happen\\node_modules\\@npmcli’
npm ERR!},
npm ERR!errno: -4048,
npm ERR!code: ‘EPERM’,
npm ERR!syscall: ‘rename’,
npm ERR!path: ‘C:\\Users\\QGLiu\\AppData\\Roaming\\npm\\node_modules\\cnpm\\node_modules\\.make-fetch-happen.DELETE\\node_modules\\@npmcli’,
npm ERR!dest: ‘C:\\Users\\QGLiu\\AppData\\Roaming\\npm\\node_modules\\cnpm\\node_modules\\make-fetch-happen\\node_modules\\@npmcli’,
npm ERR!parent: ‘cnpm’
npm ERR! }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It’s possible that the file was already in use (by a text editor or antivirus),
npm ERR! or that you lack permissions to access it.
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.

npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\QGLiu\AppData\Roaming\npm-cache\_logs\2024-01-26T14_27_16_226Z-debug.log

C:\Windows\system32>

报错背景:

使用的Nodejs为v14.3.0版本与要安装的cnpm版本不符

报错原因:

关键看这句

Unsupported engine for cnpm@9.4.0: wanted: {“node”:”>= 14.18.0″} (current: {“node”:”14.3.0″,”npm”:”6.14.5″})

安装cnpm9.4.0版本需要nodejs版本>= 14.18.0,我的为v14.3.0版本,所以报错。

解决办法:

解决方法一:

将Nodejs卸载重新安装最新版本v18.19.0

再次执行npm install cnpm -g命令,安装成功!

解决方法二:

安装cnpm时指定较低的版本安装:

npm install -g cnpm@6.1.0