إذا كان هذا سؤالًا حول كيفية استخدام NVM4W ، فيرجى استخدام stackoverflow بدلاً من ذلك.
إذا كانت هذه مشكلة تتعلق بمكافحة الفيروسات ، فتأكد من البحث في المشكلات الحالية أولاً.
حاولت التبديل من v8.9.1 إلى 6.12.0 (إصدار العقدة)
ولكن ، لم يتحول إلى الإصدار 6.12.0 أو إصدارات أخرى.
(قمت بتثبيت 8.9.1 أخيرًا)
فتحت كمد عبر المسؤول.
ج: Windowssystem32> nvm ls
ج: Windowssystem32> node -v
الإصدار 9.8.1
C: Windowssystem32> استخدام nvm 6.12.0
الآن باستخدام العقدة v6.12.0 (64 بت)
ج: Windowssystem32> node -v
الإصدار 9.8.1
ج: Windowssystem32> nvm ls
نفس الشيء
+1
نفس الشيء مع nvm 1.1.5:
C:\windows\system32>nvm version
1.1.5
C:\windows\system32>nvm ls
8.9.2
* 4.7.2 (Currently using 64-bit executable)
C:\windows\system32>nvm use 8.9.2
Now using node v8.9.2 (64-bit)
C:\windows\system32>node -v
v4.7.2
C:\windows\system32>
biologeek نفس الشيء: /
هل وجدت بعض الحل؟
يحدث هذا غالبًا بسبب استخدام حساب مستخدم غير متميز. يجب أن يحتوي حسابك على أذونات على مستوى المسؤول ، لأن Windows يتطلب ذلك للحصول على ارتباطات رمزية. ينشئ nvm use
ارتباطًا رمزيًا لتثبيت العقدة المناسب. إذا كان الارتباط الرمزي موجودًا داخل C:\Program Files
، فستحتاج إلى أذونات مرتفعة (سيحاول nvm4w القيام بذلك نيابةً عنك تلقائيًا).
أنا مشرف على جهاز الكمبيوتر الخاص بي. على الرغم من أنه يمكنني التغلب على هذه المشكلة عن طريق إعادة تسمية المجلدات يدويًا بحيث يشير الارتباط الرمزي nvm إلى الإصدار الذي أحتاجه.
سريع وقذر ولكن لا حاجة إلى وصول المسؤول!
biologeek - ما زلت بحاجة إلى وصول المسؤول لإعادة تسمية الدلائل ضمن C:\Program Files
لأنه دليل محمي على Windows (نفس الشيء ينطبق على C:\windows\system32
). أنا شخصياً أحتفظ بالارتباط الرمزي NVM4W في دليل المستخدم الخاص بي حتى لا تكون هذه مشكلة.
+1 على هذه المشكلة: لا يمكنني تغيير الإصدار.
الحل:
تمت إعادة تسمية "C: Program Filesnodejs" إلى "C: Program Filesnodejsx" ،
ثم من cmd مرتفع يسمى "استخدام nvm 8.9.1" (أي نسخة حصلت عليها يجب أن تعمل ..) وبدأت في العمل.
يبدو أن المشكلة تكمن في وجود دليل nodejs ، ولا يمكن لـ nvm تغييره إلى ارتباط رمزي و "يفشل بصمت" سيكون أمرًا رائعًا مع فشل ورسالة خطأ توضح المشكلة.
يمكن تأكيد ما قاله ituasdu . شكرا!
ituasdu حل مشكلتي , thx
مرحبًا ، نفس المشكلة هنا.
تقوم NVM بإنشاء ارتباط رمزي aa لإصدار العقدة المثبتة.
تكمن المشكلة في أن Windows 7 يتطلب المستويات الصحيحة للمسؤول لإنشاء ارتباط رمزي ، ولم يعد الأمر كذلك في نظام التشغيل Windows 10.
الحل البديل هو استخدام الوصلات (روابط "صلبة") على Windows 7 مع المعلمة "/ J". لا تتطلب الوصلات مستويات حقوق المسؤول وحسابات المستخدمين ذات الامتيازات المنخفضة حيث يمكن لي استخدامها. مثال:
nvm install 8.11.2
mklink /D /J node C:\PATH_TO_NVM\nvm\v8.11.2
سؤال: ألن تكون فكرة جيدة استخدام الوصلات بدلاً من الروابط الرمزية؟ أو على الأقل تحديد خيار لـ nvm على سبيل المثال "- الوصلات"؟
أفكر في إنشاء طلب سحب لهذا لأنه محظور لشركتي. هل سيكون مفيدا؟
@ nan0 إنشاء تقاطع على Windows 7 لا يعمل ... لا يزال غير
C:\Program Files\nodejs
على الإصدار 6.9.4 (تم تثبيته قبل تثبيت NVM4W).
C:\Users\[user]\AppData\Roaming\nvm
على v6.9.4\
و v8.11.3\
قمت بتشغيل الأمر الذي قدمته في رسالتك:
العدد 1
mklink /D /J node C:\Users\[user]\AppData\Roaming\nvm\v8.11.3
عندما أحاول القيام بذلك لـ v6.9.4 تظهر رسالة "لا يمكن إنشاء ملف عندما يكون هذا الملف موجودًا بالفعل."
العدد 2
أيضًا ، باستخدام nvm use v8.11.3
ثم nvm list
، لا يشير ذلك إلى أنه يستخدم في الواقع أيًا من إصدارات العقدة المثبتة nvm.
هل هناك أي شيء آخر يمكن القيام به؟
كيف يمكنني رؤية التقاطعات التي تم إنشاؤها؟ أين هم موجودون بالفعل؟
أنا استخدم:
Windows 7. لا توجد حقوق مسؤول مسموح بها للمستخدم الخاص بي.
لا يهم أنها تعمل. أدركت أنني كنت أصنع junction
في المجلد الخطأ.
إعادة تسمية C: Program Filesnodejs إلى C: Program Files nodejsx
ثم عمل التقاطع كـ "nodejs" وتوجيهه إلى C:\Users\[user]\AppData\Roaming\nvm\v8.11.3
!
لتلخيص الحل هو هذا:
مع عدم وجود عقدة قائمة بذاتها مثبتة.
في المجلد C:\Program Files\
استخدم cmd
لتشغيل mklink /D /J nodejs C:\Users\[user]\AppData\Roaming\nvm\v8.11.3
للراغبين في المساهمة ، شكرا لك!
لكن؛ أريد أن أشير إلى أنه تم تجنب التقاطعات بشكل صريح لأنها لن تعمل عبر محركات أقراص ثابتة مختلفة. كانت هذه نقطة مؤلمة بشكل خاص في شبكات المؤسسات ذات محركات الأقراص المشتركة / محركات الأقراص المعينة.
ituasdu لقد حل مشكلتي ،
شكرا على الحل.
جهاز الكمبيوتر الخاص بي هو Windows 7 ، ولدي امتيازات المسؤول. في نفس الموقف ، لا يمكن لـ NVM تغيير الإصدار ، أسلوبي هو إعداد NVM_SYMLINK D: Project NVM v8.11.4 في متغير البيئة ، ولا يتطلب تبديل إصدارات العقدة سوى تغيير رقم الإصدار المقابل لمسار NVM متغير البيئة ، مثل: NVM_SYMLINK D: Project NVM v6.9.0. بهذه الطريقة ، على الرغم من حل المشكلة ، في كل مرة أغير فيها الإصدار ، كان الأمر مزعجًا ، ولم أجد حلًا أفضل في الوقت الحالي.
يعمل حل "Sagan" من مكدس الفائض بالنسبة لي:
https://stackoverflow.com/questions/28313372/nvm-for-windows-not-working
لي،
nvm list
ثم يمكنني إزالة v8.9.4 مجلد من NVM.
بعد ذلك:
nvm list
بعد ذلك ، أعود v8.9.4 للخلف.
هذا ما يحدث لي على Windows 10 10.0.17134.165
لقد جربت الحل الذي ذكرته ituasdu ونجح . شكرا لكم!!!
إذا وجدت أنه بعد محاولة cmd مثل:
nvm use 6.10.0
ولم يتم تغيير إصدار nodejs ، يمكنك بدء cmd.exe أو بوويرشيل من قبل المسؤول.
واجهت نفس المشكلة عند التبديل بين العقدة 6.6.0 و 7.9.0 (Windows 10) ولكن حل ituasdu لم يكن يعمل. إعادة تثبيت nvm لم تنجح أيضًا.
قمت بتشغيل تثبيت nvm الأحدث (تم التثبيت 11.3.0) وهذا بطريقة ما تم إصلاحه بالنسبة لي.
الحل:
تمت إعادة تسمية "C: Program Filesnodejs" إلى "C: Program Filesnodejsx" ،
ثم من cmd مرتفع يسمى "استخدام nvm 8.9.1" (أي نسخة حصلت عليها يجب أن تعمل ..) وبدأت في العمل.
يبدو أن المشكلة تكمن في وجود دليل nodejs ، ولا يمكن لـ nvm تغييره إلى ارتباط رمزي و "يفشل بصمت" سيكون أمرًا رائعًا مع فشل ورسالة خطأ توضح المشكلة.
هذا عمل لي.
PS > nvm use 11.4.0
Now using node v11.4.0 (64-bit)
PS > node -v
v10.11.0
PS > nvm use 11.4.0
Now using node v11.4.0 (64-bit)
PS > node -v
v11.4.0
ituasdu عملت لي أيضا .. شكرا .. :)
ituasdu شكرا ، عملت مثل السحر. أعتقد أن هذا يحدث عندما يكون لدى الأشخاص NodeJS مثبتة مسبقًا مباشرة بدون nvm ثم يحاولون استخدام العقدة من خلال nvm.
هذا أيضا يعمل بالنسبة لي ، شكرا.
لا أعرف ما إذا كان هذا يمكن أن يلقي بعض الضوء على المشكلة ولكن في حالتي أعتقد أن هذا حدث بعد تثبيت إصدار جديد من العقدة بدون nvm (يدويًا). يبدو أن هذا الإجراء يصنع nvm مجنون.
coreybutler هل لديك أية أفكار حول تثبيت الارتباط الرمزي على مجلد لا يتطلب صلاحيات المسؤول؟ أعلم أن هذا قد يكون شكلًا سيئًا إلى حد ما في Windows dev ، لكنه بالتأكيد سيتخطى كل هذه المشكلات ، لا سيما في بيئة مؤسسية شديدة الإغلاق حيث يمثل الحصول على امتيازات إدارية ألمًا كبيرًا.
الألم الآخر هو ما أعانيه حاليًا (ليس بسبب nvmw) حيث ، على الرغم من أنني أمتلك بالفعل مشرفين إداريين في بعض الحالات ، في كل مرة أرغب في التبديل بين إصدارات العقدة ، يجب أن أفتح نافذة cmd أخرى كاملة ، قم بتشغيل cmd كمسؤول وأخيراً قم بتشغيل nvm use 10.15.1
(على سبيل المثال). ثم انتقل مرة أخرى إلى بلدي ديف ، نافذة cmd. أرغ. مرة أخرى ، الألم بسبب عمل البيئة ليس بسبب nvmw. (nvmw رائع بالمناسبة).
مجرد فكرة. ؛-)
قم بتشغيل nvm use <node.js version you want to use>
(على سبيل المثال nvm use 10.15.3
) ضمن Powershell ISE حيث قام المسؤول بحل المشكلة في Windows 10 الخاص بي.
لا بد لي من تشغيل nvm use any.version
عدة مرات تحت Powershell كمسؤول حتى يعمل. يقوم بتغيير الإصدار بشكل عشوائي في المحاولة الأولى أو الثانية أو الثالثة (إصدار nvm 1.1.7).
حاولت إصلاحه عن طريق تثبيت Link Shell Extension والقيام بالخطوات التالية:
C:\Program Files\nodejs
C:\Program Files
nodejs - SymbolicLink
إلى nodejsx
لكن للأسف المشكلة ما زالت تحدث.
يمكن تأكيد حل ituasdu لي أيضًا.
ituasdu يعمل بالنسبة لي ، thnks.
@ monico-moreno - في المرة القادمة اتصل بي عبر البريد الإلكتروني عندما لا أرد لعدة أشهر في كل مرة :) للإجابة على سؤالك ، يمكنك التثبيت على أي مجلد تريده باستخدام المثبت. لكن؛ تتطلب جميع الارتباطات الرمزية على Windows امتيازات المسؤول ، باستثناء بعض أوضاع المطورين في الإصدارات الأحدث من Windows 10. خلاصة القول هي أن امتيازات المسؤول تدخل حيز التنفيذ في مرحلة ما.
أيضًا ، ربما يمكنك اختبار نظام القائمة بشكل تجريبي عند اختتامه (تبديل الإصدارات من شريط مهام Windows). هل سيكون هذا سير عمل أفضل؟
https://github.com/coreybutler/nvm-windows#uninstall -existing-node
لدي فقط مشكلة مماثلة ، لكن سبب مختلف.
D:\> node -v
v12.14.0
D:\> nvm use 8.9.4
Now using node v8.9.4 (64-bit)
D:\> node -v
v12.14.0
// problem
D:\> where node
D:\soft\nodejs\node.exe // <- old nvm used this one
C:\Program Files\nodejs\node.exe // <- new nvm was changing this one
كان لدى IIRC I إصدار nvm سابقًا مثبتًا على D: soft وكان يغير الرابط D: softnodejs. في وقت ما توقف nvm القديم عن العمل ، لأن مستودع npm غيّر موقعه (إذا كان يعمل - لا تلمسه ، من فضلك). اضطررت إلى تثبيت nvm الجديد ، وأعتقد أن nvm الجديد رفض تغيير الرابط القديم ، وبدلاً من ذلك كان يقوم بتحديث الرابط C: Program Filesnodejs. لذلك أزلت D: softnodejs وتم إصلاحه.
بفضل delepster الذي اقترح إلغاء تثبيت العقدة القديمة ، ساعدني ذلك في اكتشاف المشكلة
قمنا بالتثبيت على ثلاثة أجهزة كمبيوتر اليوم ، اثنان منهم نظام التشغيل windows 10 مثبت والآخر مع windows server. فقد الجهازان اللذان يعملان بنظام التشغيل windows 10 البحث عند ميزات بدء التشغيل ولكن ليس الجهاز الذي يعمل بنظام التشغيل Windows Server OS. لذلك ، لا يمكنك كتابة اسم البرنامج الذي تريده وتراه بعد الآن.
أي شخص آخر وجود نفس المشكلة؟
putko ، هذه مشكلة Windows ظهرت اليوم ، وأكدتها MS وتم إصلاحها. شاهد هذه التغريدة https://twitter.com/tomwarren/status/1225110095010418689
الحل:
تمت إعادة تسمية "C: Program Filesnodejs" إلى "C: Program Filesnodejsx" ،
ثم من cmd مرتفع يسمى "استخدام nvm 8.9.1" (أي نسخة حصلت عليها يجب أن تعمل ..) وبدأت في العمل.
يبدو أن المشكلة تكمن في وجود دليل nodejs ، ولا يمكن لـ nvm تغييره إلى ارتباط رمزي و "يفشل بصمت" سيكون أمرًا رائعًا مع فشل ورسالة خطأ توضح المشكلة.هذا عمل لي.
PS > nvm use 11.4.0 Now using node v11.4.0 (64-bit) PS > node -v v10.11.0 PS > nvm use 11.4.0 Now using node v11.4.0 (64-bit) PS > node -v v11.4.0
هذا عمل لي ايضا.
واجهت مشكلة مماثلة مع 1.1.7
، اكتشفت أخيرًا أنه تم تجاهل الملف settings.txt
. nvm use
لن يفعل شيئًا على الإطلاق ، حتى أقوم بتعيين NVM_SYMLINK
يدويًا. أيضًا ، بدون مجموعة SYMLINK ، ستحاول nvm إزالة .
، وهو أمر مثير للاهتمام ، على أقل تقدير.
المعلمة path
في settings.txt
، والتي تحتوي على ما يجب استخدامه افتراضيًا مثل SymLink ، لا يتم قراءته أو استخدامه للتهيئة:
https://github.com/coreybutler/nvm-windows/blob/88353cfcea140e02e2b13584fd89454adc9f52b3/src/nvm.go#L727 -L751
أحدث إصدار من Windows 10 Pro حيث أجريت تثبيتًا جديدًا واجهت نفس المشكلة.
خطواتي المعتادة لإعداد جهازي هي:
ituasdu صحيح في تأكيده ، عندما أعدت تسمية ملف nodejs الخاص بي ، سمح لي باستخدام استخدام nvm وتعيينه بالفعل. وإلا فإنه سينجح بشكل خاطئ ويخبرني أن الإصدار قد تم تعيينه وما إلى ذلك ولكنه لم يضبط الإصدار وأنا عالق مع LTS الذي تم تثبيته في البداية.
أعلم أن هناك في الواقع سطرًا يقول إنه يجب علينا إلغاء تثبيت العقدة الحالية التي فاتني في المرة الأولى على README.md ولكن بعد أن استخدمت nvm-windows قبل أن لم أتحقق منها مرة أخرى ، قمت بتثبيتها عبر chocolatey ونسيت ذلك . (هل من الممكن فقط إلغاء تثبيت npm كجزء من التثبيت لـ chocolatey أو اكتشاف ما إذا كان هناك واحد فقط ومطالبة المستخدم بإلغاء تثبيته أولاً قبل السماح له بتثبيت nvm؟)
(هل من الممكن فقط إلغاء تثبيت npm كجزء من التثبيت لـ chocolatey أو اكتشاف ما إذا كان هناك واحد فقط ومطالبة المستخدم بإلغاء تثبيته أولاً قبل السماح له بتثبيت nvm؟)
أعتقد أنه من الممكن: يجب تقديم هذا الطلب إلى مشرف صيانة
يحدث ذلك عندما يكون لديك Node مثبتًا بشكل منفصل على جهازك (من موقع الويب أو مدير الحزم). يجب أن يؤدي إلغاء تثبيتها وتثبيتها من خلال nvm إلى حل المشكلة.
أواجه نفس المشكلة واستخدام PS في وضع المسؤول لا يحل المشكلة. (Windows 10.0.18363)
التعليق الأكثر فائدة
الحل:
تمت إعادة تسمية "C: Program Filesnodejs" إلى "C: Program Filesnodejsx" ،
ثم من cmd مرتفع يسمى "استخدام nvm 8.9.1" (أي نسخة حصلت عليها يجب أن تعمل ..) وبدأت في العمل.
يبدو أن المشكلة تكمن في وجود دليل nodejs ، ولا يمكن لـ nvm تغييره إلى ارتباط رمزي و "يفشل بصمت" سيكون أمرًا رائعًا مع فشل ورسالة خطأ توضح المشكلة.