-
-
Notifications
You must be signed in to change notification settings - Fork 51
Closed
Labels
bugSomething isn't workingSomething isn't working
Milestone
Description
aqua info
$ aqua info
{
"version": "2.48.3",
"commit_hash": "ac88862ea6a47c06b44b3fa0017ba541aca6708b",
"os": "linux",
"arch": "amd64",
"pwd": "/home/(USER)/src/github.com/<org>/<repo>",
"root_dir": "/home/(USER)/.local/share/aquaproj-aqua",
"env": {
"AQUA_GLOBAL_CONFIG": "/home/(USER)/.config/aquaproj-aqua/aqua.yaml",
"AQUA_POLICY_CONFIG": "/home/(USER)/.config/aquaproj-aqua/aqua-policy.yaml"
},
"config_files": [
{
"path": "/home/(USER)/src/github.com/<org>/<repo>/aqua.yaml"
}
]
}
Overview
Since pnpm v10.6.2, pnpm is aware of the executable name it was invoked with.
When pnpm is installed via aqua, the binary name becomes pnpm-linux-x64,
which causes the ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL error the first time you install a project-specific version of pnpm.
Renaming the binary from pnpm-linux-x64 to pnpm prevents this error.
How to reproduce
aqua.yaml
---
# aqua - Declarative CLI Version Manager
# https://aquaproj.github.io/
# checksum:
# enabled: true
# require_checksum: true
# supported_envs:
# - all
registries:
- type: standard
ref: v4.245.1 # renovate: depName=aquaproj/aqua-registry
packages:
- name: pnpm/pnpm@v10.6.2
package.json
{
"name": "frontend",
"private": true,
"version": "0.0.0",
"type": "module",
"engines": {
"node": "20.10.0"
},
"packageManager": "pnpm@9.15.3"
}
Executed command and output
$ pnpm install
ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL Command "/snapshot/dist/pnpm.cjs" not found
ERROR Command failed with exit code 254: /home/<user>/.local/share/aquaproj-aqua/pkgs/github_release/github.com/pnpm/pnpm/v10.6.2/pnpm-linux-x64/pnpm-linux-x64 /snapshot/dist/pnpm.cjs add @pnpm/linux-x64@9.15.3 --loglevel=error --allow-build=@pnpm/exe --config.node-linker=hoisted --config.bin=/home/<user>/.local/share/pnpm/.tools/@pnpm+linux-x64/9.15.3_tmp_2586430/bin
Expected behaviour
The binary should be named pnpm
, or process.execPath
should be spoofed to appear as pnpm
.
Actual behaviour
process.execPath is likely set to pnpm-linux-x64
, this cause unexpected behavior in pnpm.
Note
No response
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working