完整报错如下:
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