fnm
)مدير إصدار Node.js سريع وبسيط، مدمج في Rust
؟ دعم عبر الأنظمة الأساسية (macOS، Windows، Linux)
ملف واحد، سهل التثبيت، بدء التشغيل الفوري
بنيت مع السرعة في الاعتبار
يعمل مع ملفات .node-version
و .nvmrc
بالنسبة إلى bash
و zsh
و fish
shell، يوجد نص تثبيت تلقائي.
تأكد أولاً من تثبيت نظام التشغيل curl
و unzip
بالفعل على نظام التشغيل لديك. ثم نفذ:
curl -fsSL https://fnm.vercel.app/install | bash
على نظام التشغيل macOS، يكون الأمر بسيطًا مثل brew upgrade fnm
.
في أنظمة التشغيل الأخرى، تكون ترقية fnm
مماثلة تقريبًا لتثبيته. لمنع التكرار في ملف تكوين Shell الخاص بك، قم بإضافة أمر --skip-shell
لتثبيت الأمر.
--install-dir
قم بتعيين دليل مخصص لتثبيت fnm. الافتراضي هو $XDG_DATA_HOME/fnm
(إذا لم يتم تعريف $XDG_DATA_HOME
فإنه يعود إلى $HOME/.local/share/fnm
على نظام التشغيل Linux و $HOME/Library/Application Support/fnm
على نظام التشغيل MacOS).
--skip-shell
تخطي إلحاق محمل Shell الخاص بملف تكوين Shell، استنادًا إلى 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
الموجود في الدليل الرئيسي لديك. يجب عليك أيضًا تعديل تكوين Shell الخاص بك لإزالة أي إشارات إلى fnm (على سبيل المثال، قراءة إعداد Shell، والقيام بالعكس).
تقوم 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 Terminal وإلحاق الأسطر التالية:
@ 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