fix: give pnpm installer a default SHELL to avoid ERR_PNPM_UNKNOWN_SHELL#55
Merged
Conversation
The pnpm install recipe (curl | sh -) infers which rc file to update
from $SHELL and aborts when it is unset (non-interactive shells, some
CI/cron/container contexts):
[ERR_PNPM_UNKNOWN_SHELL] Could not infer shell type.
Install Error! -> make Error 1
Default SHELL to /bin/bash for the installer when it isn't already set.
Verified in a fresh ubuntu:24.04 container with SHELL unset: the old
command errors out, the new one installs pnpm 11.7.0 cleanly.
Fixes #49
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Problem
The pnpm install recipe pipes the installer to
sh -, and the installer infers which rc file to update from$SHELL. When$SHELLis unset (non-interactive shells, some CI/cron/container contexts) it aborts:Fix
Default
SHELLto/bin/bashfor the installer when it isn't already set (a normal interactive run keeps using the real$SHELL):Verification
In a fresh
ubuntu:24.04container withSHELLexplicitly unset:Fixes #49
🤖 Generated with Claude Code