fnm
)Быстрый и простой менеджер версий Node.js, встроенный в Rust.
? Кроссплатформенная поддержка (macOS, Windows, Linux)
Один файл, простая установка, мгновенный запуск
Создано с учетом скорости
Работает с файлами .node-version
и .nvmrc
Для оболочек bash
, zsh
и fish
существует сценарий автоматической установки.
Сначала убедитесь, что в вашей операционной системе уже установлены curl
и unzip
. Затем выполните:
curl -fsSL https://fnm.vercel.app/install | bash
В macOS это так же просто, как brew upgrade fnm
.
В других операционных системах обновление fnm
практически не отличается от его установки. Чтобы предотвратить дублирование в файле конфигурации вашей оболочки, добавьте команду --skip-shell
to install.
--install-dir
Установите собственный каталог для установки fnm. По умолчанию используется $XDG_DATA_HOME/fnm
(если $XDG_DATA_HOME
не определен, он возвращается к $HOME/.local/share/fnm
в Linux и $HOME/Library/Application Support/fnm
в MacOS).
--skip-shell
Пропустить добавление загрузчика конкретной оболочки в файл конфигурации оболочки на основе текущей пользовательской оболочки, определенной в $SHELL
. например, для Bash, $HOME/.bashrc
. $HOME/.zshrc
для Zsh. Для рыбы — $HOME/.config/fish/conf.d/fnm.fish
--force-install
Установка macOS с использованием сценария установки устарела в пользу формулы Homebrew, но это все равно вынуждает сценарий устанавливать с ее использованием.
Пример:
curl -fsSL https://fnm.vercel.app/install | bash -s -- --install-dir " ./.fnm " --skip-shell
brew install fnm
Затем настройте оболочку для fnm
winget install Schniz.fnm
scoop install fnm
Затем настройте оболочку для fnm
choco install fnm
Затем настройте оболочку для fnm
cargo install fnm
Затем настройте оболочку для fnm
PATH
Чтобы удалить fnm (?), просто удалите папку .fnm
в своем домашнем каталоге. Вам также следует отредактировать конфигурацию оболочки, чтобы удалить все ссылки на fnm (т. е. прочитать «Настройка оболочки» и сделать наоборот).
fnm поставляет свои дополнения вместе с двоичным файлом:
fnm completions --shell < SHELL >
Где <SHELL>
может быть одной из поддерживаемых оболочек:
bash
zsh
fish
powershell
Пожалуйста, следуйте инструкциям оболочки, чтобы установить их.
Переменные среды необходимо настроить, прежде чем вы сможете начать использовать fnm. Это делается путем оценки вывода fnm env
.
Примечание
Посетите раздел «Конфигурация», чтобы включить настоятельно рекомендуемые функции, такие как автоматическое переключение версий.
Добавить .node-version
в ваш проект так же просто, как:
$ node --version
v14.18.3
$ node --version > .node-version
Ознакомьтесь со следующими руководствами для используемой вами оболочки:
Добавьте следующее в свой профиль .bashrc
:
eval " $( fnm env --use-on-cd --shell bash ) "
Добавьте следующее в свой профиль .zshrc
:
eval " $( fnm env --use-on-cd --shell zsh ) "
Создайте ~/.config/fish/conf.d/fnm.fish
и добавьте в него следующую строку:
fnm env --use-on-cd --shell fish | source
Добавьте следующее в конец файла вашего профиля:
fnm env -- use-on - cd -- shell powershell | Out-String | Invoke-Expression
~/.config/powershell/Microsoft.PowerShell_profile.ps1
notepad $profile
fnm также поддерживается, но не полностью. Вы можете настроить сценарий запуска для cmd.exe или терминала Windows и добавить следующие строки:
@ echo off
:: for /F will launch a new instance of cmd so we create a guard to prevent an infnite loop
if not defined FNM_AUTORUN_GUARD (
set " FNM_AUTORUN_GUARD = AutorunGuard "
FOR /f " tokens=* " %%z IN ('fnm env --use-on-cd') DO CALL %%z
)
Использование очень похоже на обычную установку WinCMD, за исключением нескольких настроек, позволяющих вызывать его из сценария запуска cmder. В примере предполагается , что переменная среды CMDER_ROOT
установлена в корневой каталог вашей установки Cmder. Тогда вы можете сделать что-то вроде этого:
:: %CMDER_ROOT%binfnm_init.cmd
@ echo off
FOR /f " tokens=* " %%z IN ('fnm env --use-on-cd') DO CALL %%z
:: %CMDER_ROOT%configuser_profile.cmd
call " %CMDER_ROOT% binfnm_init.cmd "
Вы также можете заменить %CMDER_ROOT%
любым другим удобным путем.
См. доступные параметры конфигурации для получения расширенной документации по конфигурации.
См. доступные команды для получения расширенной документации по использованию.
Пиар приветствуется?
# Install Rust
git clone https://github.com/Schniz/fnm.git
cd fnm/
cargo build
cargo run -- --help # Will behave like `fnm --help`
cargo test