fnm
)Rust로 구축된 빠르고 간단한 Node.js 버전 관리자
? 크로스 플랫폼 지원(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
추가하십시오.
--install-dir
fnm을 설치할 사용자 정의 디렉터리를 설정합니다. 기본값은 $XDG_DATA_HOME/fnm
입니다( $XDG_DATA_HOME
이 정의되지 않은 경우 Linux에서는 $HOME/.local/share/fnm
, MacOS에서는 $HOME/Library/Application Support/fnm
로 대체됩니다).
--skip-shell
$SHELL
에 정의된 현재 사용자 셸을 기반으로 셸 특정 로더를 셸 구성 파일에 추가하는 것을 건너뜁니다. 예를 들어 Bash의 경우 $HOME/.bashrc
입니다. Zsh의 경우 $HOME/.zshrc
. 물고기의 경우 - $HOME/.config/fish/conf.d/fnm.fish
--force-install
설치 스크립트를 사용한 macOS 설치는 Homebrew 공식을 선호하여 더 이상 사용되지 않지만 이로 인해 스크립트는 어쨌든 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
)
사용법은 cmder 시작 스크립트에서 호출할 수 있도록 몇 가지 조정 사항을 제외하고 일반 WinCMD 설치와 매우 유사합니다. 이 예에서는 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%
다른 편리한 경로로 바꿀 수도 있습니다.
확장된 구성 문서에 대해 사용 가능한 구성 옵션을 참조하세요.
확장된 사용법 문서는 사용 가능한 명령을 참조하세요.
PR을 환영합니까?
# Install Rust
git clone https://github.com/Schniz/fnm.git
cd fnm/
cargo build
cargo run -- --help # Will behave like `fnm --help`
cargo test