node-serialport
node-serialport copied to clipboard
npx @serialport/list on Windows 10 unable to unlink file
SerialPort Version
10 (and 9 and 8)
Node Version
v12.22.7 (tried v14.19.1, too)
Electron Version
No response
Platform
Microsoft Windows NT 10.0.19043.0 x64
Architecture
x64
Hardware or chipset of serialport
WCH340
What steps will reproduce the bug?
Calling npx @serialport/list doesn't release the node.napi.node file. Error was reproduceable with npx @serialport/list@9 and npx @serialport/list@8.
What happens?
Output:
C:\Users\user>npx @serialport/list
COM4 USB\VID_1A86&PID_7523\6&C1A2E2F&0&4 wch.cn
COM5 USB\VID_1A86&PID_7523\8&384B90AF&0&2 wch.cn
internal/fs/utils.js:269
throw err;
^
Error: EPERM: operation not permitted, unlink 'C:\Users\user\AppData\Roaming\npm-cache\_npx\21560\node_modules\@serialport\list\node_modules\@serialport\bindings-cpp\prebuilds\win32-x64\node.napi.node'
at Object.unlinkSync (fs.js:1136:3)
at fixWinEPERMSync (C:\Program Files\nodejs\node_modules\npm\node_modules\rimraf\rimraf.js:219:13)
at rimrafSync (C:\Program Files\nodejs\node_modules\npm\node_modules\rimraf\rimraf.js:319:28)
at C:\Program Files\nodejs\node_modules\npm\node_modules\rimraf\rimraf.js:350:5
at Array.forEach (<anonymous>)
at rmkidsSync (C:\Program Files\nodejs\node_modules\npm\node_modules\rimraf\rimraf.js:349:26)
at rmdirSync (C:\Program Files\nodejs\node_modules\npm\node_modules\rimraf\rimraf.js:342:7)
at fixWinEPERMSync (C:\Program Files\nodejs\node_modules\npm\node_modules\rimraf\rimraf.js:217:5)
at rimrafSync (C:\Program Files\nodejs\node_modules\npm\node_modules\rimraf\rimraf.js:319:28)
at C:\Program Files\nodejs\node_modules\npm\node_modules\rimraf\rimraf.js:350:5 {
errno: -4048,
syscall: 'unlink',
code: 'EPERM',
path: 'C:\\Users\\user\\AppData\\Roaming\\npm-cache\\_npx\\21560\\node_modules\\@serialport\\list\\node_modules\\@serialport\\bindings-cpp\\prebuilds\\win32-x64\\node.napi.node'
}
C:\Users\user>npx cowsay hello!
npx: installed 41 in 4.056s
________
< hello! >
--------
\ ^__^
\ (oo)\_______
(__)\ )\/\
||----w |
|| ||
C:\Users\user>
What should have happened?
exit without error
Additional information
I'm not convinced this is a Serialport error, but thought I'd open an issue for it.
Maybe a permissions error on the global module cache?