Skip to content

[BUG] Error occurs when executing npm scripts and npx when script-shell=pwsh.exe is specified in .npmrc #5332

@JichouP

Description

@JichouP

Is there an existing issue for this?

  • I have searched the existing issues

This issue exists in the latest npm version

  • I am using the latest npm

Current Behavior

E:\workspace>npx
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

Entering npm script environment at location:
E:\workspace
Type 'exit' or ^D when finished

ParserError: 
Line |
   1 |  -- pwsh.exe
     |    ~
     | Missing expression after unary operator '--'.

Expected Behavior

Works fine if script-shell is set to cmd.exe.

E:\workspace>npm config set script-shell cmd.exe
E:\workspace>npx
npm WARN config global `--global`, `--local` are deprecated. Use `--location=global` instead.

Entering npm script environment at location:
E:\workspace
Type 'exit' or ^D when finished

Microsoft Windows [Version 10.0.22000.856]
(c) Microsoft Corporation. All rights reserved.


E:\workspace>

Steps To Reproduce

  1. Run npm config set script-shell pwsh.exe
  2. Run npm run <script> in any Node.js project. Or run npx, npx create-next-app, npm create tauri-app, etc.
  3. See error like this
ParserError: 
Line |
   1 |  -- pwsh.exe
     |    ~
     | Missing expression after unary operator '--'.

Environment

  • npm: 8.18.0
  • Node.js: 16.16.0
  • OS Name: Microsoft Windows [Version 10.0.22000.856]
  • System Model Name: MS-7D30
  • Power Shell: 7.2.6
  • npm config:
; "builtin" config from C:\Users\jichoup\AppData\Roaming\npm\node_modules\npm\npmrc

prefix = "C:\\Users\\jichoup\\AppData\\Roaming\\npm" 

; "user" config from C:\Users\jichoup\.npmrc

//registry.npmjs.org/:_authToken = (protected) 
script-shell = "pwsh.exe" 
shell = "pwsh.exe" 

; node bin location = C:\Program Files\nodejs\node.exe
; node version = v16.16.0
; npm local prefix = E:\workspace
; npm version = 8.18.0
; cwd = E:\workspace
; HOME = C:\Users\jichoup
; Run `npm config ls -l` to show all defaults.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Bugthing that needs fixingNeeds Triageneeds review for next stepsRelease 8.xwork is associated with a specific npm 8 release

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions