8000 fix(devcontainers-cli): add PNPM_HOME for pnpm package manager by defelmnq · Pull Request #433 · coder/modules · GitHub
[go: up one dir, main page]

Skip to content
This repository was archived by the owner on May 15, 2025. It is now read-only.

fix(devcontainers-cli): add PNPM_HOME for pnpm package manager #433

Merged
merged 3 commits into from
Apr 18, 2025
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
format
  • Loading branch information
defelmnq committed Apr 17, 2025
commit 1adf7aad4808637e71612bf5779c6ea6029cddcf
12 changes: 6 additions & 6 deletions devcontainers-cli/run.sh
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,14 @@ echo "Installing @devcontainers/cli using $PACKAGE_MANAGER..."

# Install @devcontainers/cli using the selected package manager
if [ "$PACKAGE_MANAGER" = "npm" ]; then
$PACKAGE_MANAGER install -g @devcontainers/cli \
$PACKAGE_MANAGER install -g @devcontainers/cli \
&& echo "🥳 @devcontainers/cli has been installed into $(which devcontainer)!"
elif [ "$PACKAGE_MANAGER" = "pnpm" ]; then
# if PNPM_HOME is not set, set it to the bin directory of the script
if [ -z "$PNPM_HOME" ]; then
export PNPM_HOME="$CODER_SCRIPT_BIN_DIR"
fi
$PACKAGE_MANAGER add -g @devcontainers/cli \
# if PNPM_HOME is not set, set it to the bin directory of the script
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This comment could better explain why we need to do this, for posterity.

if [ -z "$PNPM_HOME" ]; then
export PNPM_HOME="$CODER_SCRIPT_BIN_DIR"
fi
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just for my education, how does that work? What is CODER_SCRIPT_BIN_DIR?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typically /tmp/coder-script-data/bin, a place where all scripts can place binaries and they will be part of PATH (guaranteed by agent).

$PACKAGE_MANAGER add -g @devcontainers/cli \
&& echo "🥳 @devcontainers/cli has been installed into $(which devcontainer)!"
elif [ "$PACKAGE_MANAGER" = "yarn" ]; then
$PACKAGE_MANAGER global add @devcontainers/cli \
Expand Down
0