سوالات متداول nvm-windows (FAQ)
مشکلات و راهحلهای رایج هنگام نصب NVM. NVM (Node Version Manager) ابزاری برای مدیریت نسخههای Node.js است، اما ممکن است در حین نصب و استفاده با برخی مشکلات مواجه شوید. این مقاله مشکلات رایجی که ممکن است هنگام نصب NVM با آنها مواجه شوید را خلاصه میکند و راهحلهای دقیق ارائه میدهد.
مشکلات عمومی
- حذف نکردن Node.js قبل از نصب nvm، باعث میشود node و npm پس از نصب nvm در دسترس نباشند.
- پس از نصب Node.js با nvm برای اولین بار، به یاد داشته باشید که از
nvm useبرای جابجایی نسخههای Node.js وnvm onبرای فعال کردن کنترل نسخه Node.js استفاده کنید، در غیر این صورت node و npm در دسترس نخواهند بود.
- پس از نصب Node.js با nvm برای اولین بار، به یاد داشته باشید که از
- پس از نصب سراسری npm، باید پنجره ترمینال را ببندید و دوباره باز کنید قبل از اینکه بتوانید cnpm را نصب کنید.
- هنگام انتخاب پوشه نصب برای nvm، از نام پوشه با کاراکترهای چینی یا فاصله خودداری کنید.
عدم شناسایی دستورات NVM در PowerShell
به طور پیشفرض، دستورات NVM فقط میتوانند در Command Prompt (CMD) استفاده شوند و مستقیماً در PowerShell شناسایی نمیشوند. این به این دلیل است که سیاست اجرای PowerShell اجرای اسکریپت را محدود میکند.
توضیح مشکل:
هنگام وارد کردن دستور nvm در PowerShell، پیام "command not recognized" نمایش داده میشود.
راهحل:
- بررسی سیاست اجرای فعلی:
دستور زیر را در PowerShell وارد کنید تا سیاست اجرای کاربر فعلی را بررسی کنید
powershell
Get-ExecutionPolicy -List- تغییر سیاست اجرا: سیاست اجرای کاربر فعلی را به RemoteSigned تغییر دهید تا اسکریپتهای محلی اجرا شوند:
powershell
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser- تأیید اینکه آیا کار میکند: PowerShell را دوباره باز کنید و سعی کنید دستور nvm را اجرا کنید تا تأیید کنید که کار میکند.
خطا پس از نصب Node.js
پس از نصب nvm، اگر متوجه شدید که نمیتوانید از یک نسخه خاص Node.js استفاده کنید و خطا دریافت میکنید، ممکن است نتوانید از دستور npm استفاده کنید. این میتواند به این دلیل باشد که Node.js در فرآیند دانلود نصب شده است، اما نصب npm شکست خورده است.
راهحل:
- بایگانی فشرده Node.js را مستقیماً از وبسایت رسمی Node.js دانلود کنید.
- نسخه Node.js را حذف کنید و دوباره نصب کنید. یعنی
nvm uninstall xxxxرا اجرا کنید و سپس دوبارهnvm install xxxرا اجرا کنید. - سعی کنید یک نسخه متفاوت Node.js نصب کنید.
nvm use کار نمیکند
یک پوشه node.js در دایرکتوری nvm ایجاد کنید. (توجه: باید ویژگیهای پوشه nvm و پوشه nodejs را تغییر دهیم، تنظیم مجوزهای کنترل کامل در تب "Properties -> Security")
مشکل کار نکردن node -v
پارامترهای مسیر متغیر محیطی را تغییر دهید، با NVM_SYMLINK اشاره به مسیر node.js تازه ایجاد شده. (همانطور که در تصویر زیر نشان داده شده است، 2 مکان وجود دارد، بالا و پایین) 
تفاوت بین NVM و نصب مستقیم Node.js چیست؟
NVM به شما امکان میدهد چندین نسخه Node.js را روی همان سیستم نصب و مدیریت کنید، در حالی که نصب مستقیم Node.js فقط یک نسخه را اجازه میدهد. با NVM، میتوانید به راحتی بین نسخههای مختلف جابجا شوید، که برای تست سازگاری یا کار با پروژههایی که به نسخههای خاص Node.js نیاز دارند مفید است.
آیا NVM چند پلتفرمی است؟
NVM اصلی (nvm-sh/nvm) عمدتاً برای سیستمهای Unix (Linux، macOS) طراحی شده است. برای Windows، یک پیادهسازی جداگانه به نام nvm-windows وجود دارد که عملکردی مشابه اما یکسان ارائه میدهد. تفاوتهای ظریفی در دستورات و رفتار بین این دو وجود دارد.
کدام نسخه NVM را باید انتخاب کنم؟
- اگر از Windows استفاده میکنید، باید nvm-windows را انتخاب کنید
- اگر از Linux یا macOS استفاده میکنید، باید nvm-sh/nvm اصلی را انتخاب کنید
- اگر از WSL (Windows Subsystem for Linux) در Windows استفاده میکنید، باید nvm-sh/nvm اصلی را در محیط WSL نصب کنید
مشکلات نصب
"خطای Runtime R6034" پس از نصب NVM روی Windows
این خطا معمولاً با تداخل runtime Visual C++ مرتبط است. راهحلهای زیر را امتحان کنید:
- nvm-windows را دوباره نصب کنید
- مطمئن شوید که آخرین نسخه بسته Visual C++ Redistributable را دارید
- سعی کنید Command Prompt را به عنوان مدیر اجرا کنید
نصب کند یا شکست خورده با استفاده از منابع داخلی
اگر در چین هستید، ممکن است نیاز به تنظیم منابع آینه داشته باشید:
نسخه Windows
bash
nvm npm_mirror https://npmmirror.com/mirrors/npm/
nvm node_mirror https://npmmirror.com/mirrors/node/