# Обновляем версию pnpm:
pnpm add -g pnpm
При первом обновлении скорее всего получим вот такую ошибку:
ERR_PNPM_NO_GLOBAL_BIN_DIR Unable to find the global bin directory
Run "pnpm setup" to create it automatically, or set the global-bin-dir setting, or the PNPM_HOME env variable. The global bin directory should be in the PATH.
Это означает, что pnpm не знает, куда устанавливать глобальный пакеты. Нужно выполнить настройку окружения:
pnpm setup
Эта команда создаст каталог ~/.local/share/pnpm/ и добавит в ~/.bashrc, ~/.zshrc или ~/.profile строку вроде:
export PNPM_HOME="/home/mark/.local/share/pnpm"
export PATH="$PNPM_HOME:$PATH"
У меня после запуска pnpm setup добавился следующий блок кода в ~/.bashrc:
# pnpm
export PNPM_HOME="/home/mark/.local/share/pnpm"
case ":$PATH:" in
*":$PNPM_HOME:"*) ;;
*) export PATH="$PNPM_HOME:$PATH" ;;
esac
# pnpm end
Потом я перезагружаю bash и пытаюсь обновиться с помощью: pnpm add -g pnpm. Но получаю в ответ, что мне следует обновляться с помощью другой команды:
pnpm self-update
Теперь pnpm полностью управляет собой.
Изначально я его ставил через npm, а значит и обновлять его надо было через npm:
npm install -g pnpm
# или:
sudo npm install -g pnpm
А если pnpm был установлен через pacman, то обновляем его так:
sudo pacman -Syu pnpm
# или сразу всю систему (включая и pnpm):
sudo pacman -Syu
curl -fsSL https://get.pnpm.io/install.sh | sh -
# Эта команда скачивает официальный скрипт установки,
# который делает то же самое, что pnpm setup:
# создаёт $PNPM_HOME, добавляет его в PATH и активирует PNPM.
# После этого обновлять pnpm можно так:
pnpm self-update