Skip to content

Установка fnm на Windows

fnm предлагает несколько способов установки на Windows. Это руководство поможет вам выбрать наиболее подходящий метод.

Способы установки

Использование winget (рекомендуется)

winget — менеджер пакетов, встроенный в Windows 11 и Windows 10 (1809+):

powershell
winget install Schniz.fnm

Использование Scoop

Scoop — популярный менеджер пакетов командной строки на Windows:

powershell
# Установить Scoop (если не установлен)
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser
irm get.scoop.sh | iex

# Установить fnm
scoop install fnm

Использование Chocolatey

Chocolatey — широко используемый менеджер пакетов на Windows:

powershell
# Установить Chocolatey (если не установлен)
Set-ExecutionPolicy Bypass -Scope Process -Force
[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072
iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))

# Установить fnm
choco install fnm

Использование скрипта установки

В Git Bash или WSL:

bash
curl -fsSL https://fnm.vercel.app/install | bash

Ручная загрузка

  1. Посетите страницу релизов fnm
  2. Загрузите fnm-windows.zip
  3. Распакуйте в целевую директорию
  4. Добавьте распакованную директорию в системный PATH

Конфигурация PowerShell

После установки необходимо настроить среду PowerShell.

Автоматическая конфигурация

Выполните следующую команду для добавления конфигурации fnm в профиль PowerShell:

powershell
# Создать профиль (если не существует)
if (!(Test-Path -Path $PROFILE)) {
    New-Item -ItemType File -Path $PROFILE -Force
}

# Добавить конфигурацию fnm
Add-Content -Path $PROFILE -Value 'fnm env --use-on-cd | Out-String | Invoke-Expression'

# Перезагрузить конфигурацию
. $PROFILE

Ручная конфигурация

  1. Откройте профиль PowerShell:
powershell
notepad $PROFILE
  1. Добавьте следующий контент:
powershell
fnm env --use-on-cd | Out-String | Invoke-Expression
  1. Сохраните и перезагрузите:
powershell
. $PROFILE

Конфигурация VS Code

Если вы используете VS Code, необходимо настроить интегрированный терминал:

  1. Откройте настройки (Ctrl + ,)
  2. Найдите terminal.integrated.profiles.windows
  3. Добавьте или измените конфигурацию PowerShell:
json
{
  "terminal.integrated.profiles.windows": {
    "PowerShell": {
      "source": "PowerShell",
      "args": ["-NoLogo"]
    }
  }
}

Использование зеркала в Китае

В материковом Китае рекомендуется настроить зеркало для ускорения загрузок:

powershell
# Установить переменную окружения
[Environment]::SetEnvironmentVariable("FNM_NODE_DIST_MIRROR", "https://npmmirror.com/mirrors/node", "User")

# Или добавить в профиль PowerShell
$env:FNM_NODE_DIST_MIRROR = "https://npmmirror.com/mirrors/node"
fnm env --use-on-cd | Out-String | Invoke-Expression

Проверка установки

powershell
# Проверить версию fnm
fnm --version

# Установить Node.js
fnm install --lts

# Проверить Node.js
node --version
npm --version

Завершение Shell

Включите завершение команд PowerShell:

powershell
# Добавить скрипт завершения в профиль
fnm completions --shell powershell | Out-String | Add-Content $PROFILE

# Перезагрузить конфигурацию
. $PROFILE

Общие проблемы

Команда не найдена

Если команда fnm не найдена после установки:

  1. Подтвердите, что fnm добавлен в PATH
  2. Перезапустите окно PowerShell
  3. Проверьте путь установки:
powershell
where.exe fnm

Ошибка политики выполнения

Если возникает ошибка политики выполнения:

powershell
# Разрешить выполнение скриптов
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser

Переменные окружения не применяются

Убедитесь, что профиль PowerShell загружен правильно:

powershell
# Проверить путь к профилю
$PROFILE

# Проверить контент профиля
Get-Content $PROFILE

# Перезагрузить вручную
. $PROFILE

Использование fnm в WSL

Если вы используете fnm в WSL:

bash
# Установить в WSL
curl -fsSL https://fnm.vercel.app/install | bash

# Конфигурировать Bash
echo 'eval "$(fnm env --use-on-cd)"' >> ~/.bashrc
source ~/.bashrc

Следующие шаги

После установки вы можете:

Связанные ссылки