Трали-вали
# 1. Устанавливаем nvm:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
# curl -o script.sh https://example.com/script.sh -- сохранить файл как script.sh
# curl -o - https://example.com/script.sh -- здесь ты говоришь: запиши вывод в стандартный вывод (в терминал), а не в файл.
# Здесь "-" после "-o" - это специальное обозначение stdout (экран/вывод в терминал).
# "-o -" - выводим файл на экран, а не в файл
# | bash - передаёт этот вывод прямо в интерпретатор bash. То есть мы как бы говорим: скачай скрипт и сразу же выполни его.
# можно сделать так:
curl -O https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh
less install.sh # посмотреть содержимое
bash install.sh # выполнить
# -o - сохраняет файл с указанным именем, направляет поток в файл.
# -O - сохраняет файл с оригинальным именем
# -o - - направляет поток в терминал
# -o - = -o- = они равноценны, curl поддерживает слияние флагов
# 2. Либо перезагружаем терминал, либо выполняем:
export NVM_DIR="$HOME/.nvm"
source "$NVM_DIR/nvm.sh"
# 3. Устанавливаем нужную версию Node.js:
nvm install node
# или, например:
nvm install 20
# 4. Проверим, что всё работает:
node -v
npm -v
# 5. Устанавливаем pnpm:
npm install --global pnpm
## Устанавливаем zsh
sudo pacman -S zsh
## Установить Oh My Zsh:
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
## После установки можно выбрать красивую тему в ~/.zshrc (например, ZSH_THEME="agnoster" или robbyrussell по умолчанию).
## Для красивой подсветки:
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ~/.zsh/zsh-syntax-highlighting
echo 'source ~/.zsh/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh' >> ~/.zshrc
## Автоподсказки по истории:
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.zsh/zsh-autosuggestions
echo 'source ~/.zsh/zsh-autosuggestions/zsh-autosuggestions.zsh' >> ~/.zshrc
## Список доступных шеллов:
cat /etc/shells
chsh --list-shells
## Поменять shell на bash:
chsh --shell /bin/bash
## и надо перезайти в сессию
## Проверить, что шелл реально изменился без перезагрузки:
grep "^$USER:" /etc/passwd
cat /etc/passed | grep "^$USER"