fix: correct package manager selection in CLI install (issue #6111) #6445
+14
−2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
(It seems there are no existing tests for the CLI installation yet, so I have kept the same level of testing for now and added my manual test below).
Description:
pnpm dlx hardhat --init
#6111) Franco noticed that the install script defaults to usingnpm
in some cases, noting that its probably to do with checking the directories package manager related files.project-creation.ts
are checking for related .lock files, and therefore if the project isn't set up correctly then the CLI could use the wrong package manager.getProjectTypeFromUserAgent
which extracts the first part ofprocess.env.npm_config_user_agent
, this is then added as the first check in theisYarnProject
andisPnpmProject
functions.process.env.npm_config_user_agent
might not be available on all OS, and we still default back to initial behaviour for now.getProjectTypeFromUserAgent
at start of CLI code.Manual CLI test output: