node-serialport icon indicating copy to clipboard operation
node-serialport copied to clipboard

npx @serialport/list on Windows 10 unable to unlink file

Open tagyoureit opened this issue 3 years ago • 1 comments

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.

tagyoureit avatar Mar 19 '22 07:03 tagyoureit

Maybe a permissions error on the global module cache?

reconbot avatar Mar 19 '22 21:03 reconbot