Nvm-windows: لا يعمل nvm في حالات 32/64 بت لنظام التشغيل Windows 7

تم إنشاؤها على ١٨ يوليو ٢٠١٦  ·  10تعليقات  ·  مصدر: coreybutler/nvm-windows

بيئتي

  • [X] Windows 7 أو إصدار أقدم (غير مدعوم بالفعل بسبب EOL)
  • [ ] ويندوز 8
  • [] Windows 8.1
  • [] Windows 10
  • [] Windows 10 IoT Core
  • [] Windows Server 2012
  • [] Windows Server 2012 R2
  • [] Windows Server 2016
  • [] تثبيت Windows الخاص بي بلغة غير الإنجليزية.

    فعلت مسبقا...

  • [X] اقرأ README لتكون على دراية بمشاكل npm gotchas ومكافحة الفيروسات.

  • قام [X] بمراجعة الويكي للتأكد من أن مشكلتي لم يتم حلها بالفعل.
  • تحقق [X] من أنني أستخدم حسابًا بامتيازات إدارية.
  • [X] بحث في المشكلات (مفتوحة ومغلقة) للتأكد من أن هذه ليست مكررة.
  • تأكد [X] من أن هذا ليس سؤالًا حول كيفية استخدام NVM لنظام التشغيل Windows ، حيث يتم استخدام gitter للأسئلة والتعليقات.

    مشكلتي متعلقة بـ (حدد فقط تلك التي تنطبق):

  • [] settings.txt

  • [] دعم الوكيل
  • [X] دعم 32 أو 64 بت

    سلوك متوقع

أنا أقوم بتشغيل Windows 7/64 بت
لقد قمت بتثبيت (مع admin priv) NVM لنظام التشغيل Windows 1.1.1. من هناك اعتدت

nvm install 6.1.0 all
nvm install 6.3.0 all

ثم اتصلت
nvm list
مما يسبب

C:\Users\kagentes>nvm list
    6.3.0
    6.1.0

ثم ركضت
nvm use 6.3.0 64

وثم
node -v
ومن المتوقع أن تحصل عليه
v6.3.0

السلوك الفعلي

عند الجري
node -v
انا حصلت

'node' is not recognized as an internal or external command,
operable program or batch file.

أيضًا حتى بعد تعيين أمر استخدام nvm ، ألاحظ أن القائمة لا يبدو أنها تؤكد أن أمر "الاستخدام" يعمل. كما في:

C:\Users\kagentes>nvm use 6.3.0 64
Now using node v6.3.0 (64-bit)

C:\Users\kagentes>nvm list

    6.3.0
    6.1.0

من لقطات الشاشة في https://github.com/coreybutler/nvm-windows الصفحة ، أعتقد أن الأمر nvm list يجب أن يعيد شيئًا كهذا أدناه ( لكنني لا أحصل على هذا )

C:\Users\kagentes>nvm list

*   6.3.0 (In Use)
    6.1.0

لا يحتوي على علامة النجمة أو مؤشر "قيد الاستخدام".

من المحتمل أن يساعد هذا أيضًا في تشخيص المشكلة ، ولكن عندما أقوم بتنفيذ الأمر nvm arch أحصل على النتائج الغريبة التالية ، بغض النظر عما قمت بتعيينه في nvm use :

C:\Users\kagentes>nvm arch
System Default: 64-bit.
Currently Configured: -bit.

خطوات إعادة إظهار المشكلة:

خطوات إعادة الإنتاج معطاة بالفعل في قسم السلوك المتوقع أعلاه. لقد جربت بالفعل التوصيات الممكنة في قضايا أخرى ، مثل المشكلة رقم 146 ، بالإضافة إلى إعادة تشغيل shell وإعادة تشغيل الكمبيوتر والتأمين على أن كل شيء تم بامتيازات المسؤول. قبل البدء في كل هذا ، قمت بإلغاء تثبيت الإصدارات السابقة من Node التي كانت موجودة على الكمبيوتر. (ثم ​​قم بتثبيت nvm-windows واتبع التعليمات الخاصة بك).

help wanted

التعليق الأكثر فائدة

kgentes - سأفترض أنه قبل nvm قمت بتثبيت الإصدار 64 بت من العقدة ، وقمت بتثبيت nvm باستخدام الإعدادات الافتراضية.

بعد إلغاء تثبيت العقدة ، تأكد من إزالة الدليل الذي تم تثبيت العقدة فيه في الأصل وأنه ليس فارغًا فقط. بالنسبة لنظام التشغيل Windows 7 ، إصدار 64 بت ، يكون الإعداد الافتراضي هو "C: Program Filesnodejs".

إذا كان الدليل "nodejs" لا يزال موجودًا ، فلن يتمكن الأمر "استخدام nvm" من إنشاء رابط رمزي لإصدار العقدة تحت سيطرة nvm.

واجهت نفس المشكلة حتى قمت يدويًا بحذف دليل "nodejs".

امل ان يساعد

ال 10 كومينتر

آسف لطرح السؤال الواضح ، ولكن هل حاولت إعادة تشغيل نافذة المحطة؟ في نظام التشغيل Win7 ، في بعض الأحيان يستمر الاختناق في المرة الأولى التي تحاول فيها استخدام إصدار معين (mklink).

نعم .. فعلت. حاولت إعادة تشغيل نافذة المحطة .. ثم حتى الجهاز .. لم يغير النتيجة.

حسنًا - سأبحث في هذا إذا كان لدي وقت. لسوء الحظ ، Win7 ليس شيئًا غالبًا ما أتجول فيه.

kgentes - سأفترض أنه قبل nvm قمت بتثبيت الإصدار 64 بت من العقدة ، وقمت بتثبيت nvm باستخدام الإعدادات الافتراضية.

بعد إلغاء تثبيت العقدة ، تأكد من إزالة الدليل الذي تم تثبيت العقدة فيه في الأصل وأنه ليس فارغًا فقط. بالنسبة لنظام التشغيل Windows 7 ، إصدار 64 بت ، يكون الإعداد الافتراضي هو "C: Program Filesnodejs".

إذا كان الدليل "nodejs" لا يزال موجودًا ، فلن يتمكن الأمر "استخدام nvm" من إنشاء رابط رمزي لإصدار العقدة تحت سيطرة nvm.

واجهت نفس المشكلة حتى قمت يدويًا بحذف دليل "nodejs".

امل ان يساعد

شكرًا pleverett .. سأحاول ذلك قريبًا .. أقدر

pleverett شكرا لك سيدي! هذا عمل كما أعلنت! أعجاب بشده! هذا الموضوع يمكن أن تكون مغلقة. من المحتمل أن يتم وضع علامة عليه كحل (لست متأكدًا مما إذا كان هذا شيء يمكن القيام به ، هنا ، أنا جديد في هذا النظام البيئي) لمستخدمي Windows 7 في المستقبل الذين قد يواجهون هذه المشكلة. يعمل NVM لنظام التشغيل Windows الآن بسلاسة ، بمجرد إزالة دليل "C: Program Filesnodejs" ("C: Program Files (x86) nodejs" لـ 32 بت) والذي يبدو أنه لا تتم إزالته افتراضيًا من برنامج إلغاء التثبيت. إلى جانب هذا الدليل أزلت أيضًا:
- "C: UsersusernameAppDataRoamingnpm"
- "C: UsersusernameAppDataRoamingnpm-cache"

على الرغم من أن ذلك ربما لم يكن ضروريا.

على أي حال ، كل شيء يعمل. شكر!

تضمين التغريدة

قضية أخرى ذات صلة -
الآن بعد أن تمكنت من رؤية إصدارات العقدة وتغييرها عبر nvm ، أتساءل عما إذا كان ينبغي أن أرى نتائج مختلفة عندما أفعل:

npm config list

في الوقت الحالي ، لا يتغير أي من المعلومات باستثناء المتغير الواحد أدناه.
user-agent = "npm/3.10.3 node/v6.3.0 win32 ia32"

كل الآخرين يبقون على حالهم. ويبدو أنه لا يوجد سوى إصدار واحد من وحدات العقد المثبتة عالميًا.

إذا كنت أقوم بالتغيير فقط من الإصدار 64 بت من 6.3.0 إلى الإصدار 32 بت من 6.3.0 ، فهل سيكون لدي نفس التركيبات النمطية للعقدة العالمية؟ أم أنها ستجعل منها مميزة؟ أو هل أحتاج إلى إجراء تغيير في الإصدار للحصول على مجموعة مختلفة من وحدات العقد المثبتة عالميًا؟ من الناحية المثالية ، أعتقد أنه سيحتفظ بسياق فريد لكل إصدار بت (بسبب وحدات العقدة الأصلية مثل libxml - ؟؟؟ إلخ) ، لكن يمكنني معرفة سبب عدم رغبة الآخرين في العمل بهذه الطريقة.

هل ما زلت أستخدمه بشكل خاطئ؟ أم أن هذا خطأ متعلق؟

نظرًا لأن هذا لا يزال يعمل على نفس سلسلة الرسائل ، فقد أردت إعادة فتح هذا بدلاً من إنشاء مشكلة جديدة ... [انظر التعليق السابق لحالتي المحدثة]

@ kgentes - أنا آسف فاتني هذا ... ربما يجب أن تكون مشكلة مختلفة.

إذا كنت تقوم بالتبديل فقط من 32-> 64 بت أو العكس ، فإن NVM4W سيستخدم نفس الدليل العالمي node_modules . تم القيام بذلك عن قصد ، في المقام الأول للحفاظ على البصمة الإجمالية لبيئة العقدة إلى الحد الأدنى. سيؤدي وجود أدلة تثبيت منفصلة لكل من 32/64 بت إلى مضاعفة أثر معظم المستخدمين ... والبصمة الإجمالية شيء لا يفكر فيه معظم المستخدمين حتى نفاد المساحة. على الرغم من ذلك ، فإنني أميل إلى استخدام دليل تثبيت فردي حسب بنية الإصدار + بنية proc على أي حال. يجب أن يكون الأمر متروكًا للمستخدم ، وكما قلت ، فإن هذا يكسر بعض الحزم الأصلية.

أنا أغلق هذا لأن الموضوع مختلف قليلاً. لا تتردد في فتح عدد جديد إذا أردت.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات