Open exoRift opened 1 year ago
This is still happening in NPM 10 as well, using Artifactory.
0 verbose cli /home/jpage/.nvm/versions/node/v20.9.0/bin/node /home/jpage/.nvm/versions/node/v20.9.0/bin/npm
1 info using npm@10.1.0
2 info using node@v20.9.0
3 timing npm:load:whichnode Completed in 1ms
4 timing config:load:defaults Completed in 1ms
5 timing config:load:file:/home/jpage/.nvm/versions/node/v20.9.0/lib/node_modules/npm/npmrc Completed in 0ms
6 timing config:load:builtin Completed in 0ms
7 timing config:load:cli Completed in 2ms
8 timing config:load:env Completed in 0ms
9 timing config:load:file:/home/jpage/Code/switchboard-cli/.npmrc Completed in 0ms
10 timing config:load:project Completed in 4ms
11 timing config:load:file:/home/jpage/.npmrc Completed in 0ms
12 timing config:load:user Completed in 1ms
13 timing config:load:file:/home/jpage/.nvm/versions/node/v20.9.0/etc/npmrc Completed in 0ms
14 timing config:load:global Completed in 0ms
15 timing config:load:setEnvs Completed in 0ms
16 timing config:load Completed in 8ms
17 timing npm:load:configload Completed in 8ms
18 timing config:load:flatten Completed in 1ms
19 timing npm:load:mkdirpcache Completed in 0ms
20 timing npm:load:mkdirplogs Completed in 1ms
21 verbose title npm login
22 verbose argv "login"
23 timing npm:load:setTitle Completed in 0ms
24 timing npm:load:display Completed in 0ms
25 verbose logfile logs-max:10 dir:/home/jpage/.npm/_logs/2023-11-01T20_05_31_596Z-
26 verbose logfile /home/jpage/.npm/_logs/2023-11-01T20_05_31_596Z-debug-0.log
27 timing npm:load:logFile Completed in 4ms
28 timing npm:load:timers Completed in 0ms
29 timing npm:load:configScope Completed in 1ms
30 timing npm:load Completed in 23ms
31 notice Log in on https://REDACTED.jfrog.io/artifactory/api/npm/node-virt/
32 verbose web login before first POST
33 silly logfile start cleaning logs, removing 1 files
34 silly logfile done cleaning log files
35 http fetch POST 200 https://REDACTED.jfrog.io/artifactory/api/npm/node-virt/-/v1/login 104ms
36 verbose web auth got response {
36 verbose web auth doneUrl: 'https://REDACTED.jfrog.io/artifactory/api/npm/node-virt/getToken?uuid=REDACTED',
36 verbose web auth loginUrl: 'https://REDACTED.jfrog.io/ui/auth-provider/npm?uuid=REDACTED'
36 verbose web auth }
37 verbose web auth opening url pair
38 http fetch GET 202 https://REDACTED.jfrog.io/artifactory/api/npm/node-virt/getToken?uuid=REDACTED 24ms
39 http fetch GET 202 https://REDACTED.jfrog.io/artifactory/api/npm/node-virt/getToken?uuid=REDACTED 24ms
40 http fetch GET 202 https://REDACTED.jfrog.io/artifactory/api/npm/node-virt/getToken?uuid=REDACTED 21ms
41 http fetch GET 202 https://REDACTED.jfrog.io/artifactory/api/npm/node-virt/getToken?uuid=REDACTED 25ms
42 http fetch GET 202 https://REDACTED.jfrog.io/artifactory/api/npm/node-virt/getToken?uuid=REDACTED 22ms
43 http fetch GET 202 https://REDACTED.jfrog.io/artifactory/api/npm/node-virt/getToken?uuid=REDACTED 25ms
44 verbose stack TypeError [ERR_INVALID_ARG_TYPE]: The "file" argument must be of type string. Received undefined
44 verbose stack at new NodeError (node:internal/errors:406:5)
44 verbose stack at validateString (node:internal/validators:162:11)
44 verbose stack at normalizeSpawnArguments (node:child_process:548:3)
44 verbose stack at spawn (node:child_process:754:13)
44 verbose stack at /home/jpage/.nvm/versions/node/v20.9.0/lib/node_modules/npm/node_modules/@npmcli/promise-spawn/lib/index.js:18:12
44 verbose stack at new Promise (<anonymous>)
44 verbose stack at promiseSpawn (/home/jpage/.nvm/versions/node/v20.9.0/lib/node_modules/npm/node_modules/@npmcli/promise-spawn/lib/index.js:17:13)
44 verbose stack at spawnWithShell (/home/jpage/.nvm/versions/node/v20.9.0/lib/node_modules/npm/node_modules/@npmcli/promise-spawn/lib/index.js:123:10)
44 verbose stack at Function.open (/home/jpage/.nvm/versions/node/v20.9.0/lib/node_modules/npm/node_modules/@npmcli/promise-spawn/lib/index.js:155:10)
44 verbose stack at promptOpen (/home/jpage/.nvm/versions/node/v20.9.0/lib/node_modules/npm/lib/utils/open-url-prompt.js:67:22)
45 verbose cwd REDACTED
46 verbose Linux 5.15.90.1-microsoft-standard-WSL2
47 verbose node v20.9.0
48 verbose npm v10.1.0
49 error code ERR_INVALID_ARG_TYPE
50 error The "file" argument must be of type string. Received undefined
51 verbose exit 1
52 verbose stack TypeError: Cannot read properties of undefined (reading 'stdin')
52 verbose stack at promiseSpawn (/home/jpage/.nvm/versions/node/v20.9.0/lib/node_modules/npm/node_modules/@npmcli/promise-spawn/lib/index.js:60:18)
52 verbose stack at spawnWithShell (/home/jpage/.nvm/versions/node/v20.9.0/lib/node_modules/npm/node_modules/@npmcli/promise-spawn/lib/index.js:123:10)
52 verbose stack at Function.open (/home/jpage/.nvm/versions/node/v20.9.0/lib/node_modules/npm/node_modules/@npmcli/promise-spawn/lib/index.js:155:10)
52 verbose stack at promptOpen (/home/jpage/.nvm/versions/node/v20.9.0/lib/node_modules/npm/lib/utils/open-url-prompt.js:67:22)
52 verbose stack at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
53 verbose cwd **REDACTED**
54 verbose Linux 5.15.90.1-microsoft-standard-WSL2
55 verbose node v20.9.0
56 verbose npm v10.1.0
57 error Cannot read properties of undefined (reading 'stdin')
58 verbose exit 1
59 timing npm Completed in 5576ms
60 verbose unfinished npm timer command:login 1698869131636
61 verbose code 1
62 error A complete log of this run can be found in: /home/jpage/.npm/_logs/2023-11-01T20_05_31_596Z-debug-0.log
This appears to be caused by npm/promise-spawn#62.
A workaround for now is to use npm login --auth-type=legacy
.
It seems like this issue may be related to the interaction between Node.js and WSL, particularly how Node.js handles shell calculations. I referenced the child process API documentation https://nodejs.org/api/child_process.html#default-windows-shell .However, if anyone else has encountered similar issues or has insights into the WSL/Node.js shell interaction in this area can dig deeper into this.
Is there an existing issue for this?
This issue exists in the latest npm version
Current Behavior
Upon running
npm login
, I get the following output.Log:
(This also happened to me in v8. Updating to v9 did not fix it)
Expected Behavior
It logs in
Steps To Reproduce
Run
npm login
in the environment I'm usingEnvironment