Nvm-windows: NPM غير مثبت مع العقدة

تم إنشاؤها على ١٥ أغسطس ٢٠١٦  ·  66تعليقات  ·  مصدر: coreybutler/nvm-windows

بيئتي

  • [] Windows 7 أو ما دونه (غير مدعوم حقًا بسبب موسوعة الحياة - راجع ويكي للحصول على التفاصيل)
  • [ ] ويندوز 8
  • [] Windows 8.1
  • [x] 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

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

    سلوك متوقع

بعد تثبيت nvm-windows باستخدام المثبت ثم تثبيت إصدار من العقدة باستخدام >nvm install latest أو >npm install 4.4.7 . أتوقع أن أتمكن من كتابة >npm help في سطر الأوامر للتحقق من أن npm يعمل (ثم بالطبع استخدمه لتثبيت الحزم).

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

بينما يقول nvm أنه تم تثبيت npm ، فإن المجلدات التي تحتوي على node_modules فارغة:
...\AppData\Roaming\nvm\v4.4.7\node_modules (فارغ)
C:\Program Files\nodejs\node_modules (فارغ)

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

أولاً قمت بتثبيت nvm 1.1.1 من هنا: https://github.com/coreybutler/nvm-windows/releases

لقد قمت بتثبيت إصدار العقدة 4.4.7 باستخدام nvm install 4.4.7 . تعمل جميع أوامر nvm بشكل صحيح بما في ذلك nvm use ويمكنني تشغيل برنامج نصي hello world في العقدة.

أثناء التثبيت ، أحصل على إخراج سطر الأوامر التالي:

>nvm install 4.4.7
Downloading node.js version 4.4.7 (64-bit)... Complete
Creating C:\Users\myusernamewithoutspaces\AppData\Roaming\nvm\temp

Downloading npm version 2.15.8... Complete
Installing npm v2.15.8...

Installation complete. If you want to use this version, type

nvm use 4.4.7

عندما أكتب بعد ذلك npm help في سطر الأوامر ، أحصل على هذا الخطأ:

module.js:327
    throw err;
    ^

Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'
    at Function.Module._resolveFilename (module.js:325:15)
    at Function.Module._load (module.js:276:25)
    at Function.Module.runMain (module.js:441:10)
    at startup (node.js:139:18)
    at node.js:968:3
 module.js:327
    throw err;
    ^

Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'
    at Function.Module._resolveFilename (module.js:325:15)
    at Function.Module._load (module.js:276:25)
    at Function.Module.runMain (module.js:441:10)
    at startup (node.js:139:18)
    at node.js:968:3

شكرا على اي مساعدة!

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

كان هذا نفس المشكلة. ما تم إصلاحه بالنسبة لي: إزالة "C: \ Users \ {your_username} \ AppData \ Roaming \ npm" من متغير PATH. أعتقد أنه كان بقايا من تثبيت عقدة سابق.

ال 66 كومينتر

تحديث
عند مراجعة المنشور الأصلي ، لاحظت هذا الحظر:

>nvm install 4.4.7
Downloading node.js version 4.4.7 (64-bit)... Complete
Creating C:\Users\myusernamewithoutspaces\AppData\Roaming\nvm\temp

Downloading npm version 2.15.8... Complete
Installing npm v2.15.8...

Installation complete. If you want to use this version, type

nvm use 4.4.7

لاحظ أن nvm use 4.4.7 هو جزء من _Instructions_ التي ينتجها NVM4W بعد اكتمال تثبيت Node الجديد. إذا _ لم تقم بتشغيل_ nvm use x.x.x ، فلن يتم التعرف على العقدة ، وبالتالي لم يتم التعرف على npm. تأكد من تشغيل nvm use x.x.x (حيث xxx هو الإصدار الذي تريد تشغيله) قبل محاولة تشغيل أي أوامر npm!

الرد الأصلي
هل أنت خلف وكيل؟ ظهرت هذه المشكلة لبعض المستخدمين من قبل ... في الغالب أولئك الذين يستخدمون البروكسيات.

أود التحقق للتأكد من وجود C:\Program Files\nodejs\node_modules\npm\bin عند استخدام إصدار معين.

قد يكون من المفيد محاولة إزالة / إعادة تثبيت الإصدار الذي تريده. في نهاية اليوم ، يقوم NVM4W فقط بالتحكم في العقدة / npm بمجرد تنزيل / استخراج الملفات. التحدي هو أنه في بعض الأحيان يمكن أن يظهر التنزيل نتيجة إيجابية خاطئة (على سبيل المثال ، لم يكمل تنزيل npm ولكنه يقول أنه تم). أظن أن هذا قد يكون ما يحدث لك.

شكراcoreybutler. أنا لست خلف وكيل ، ولكن هناك جدار حماية أساسي. لقد جربت تثبيتًا جديدًا لـ NVM4W و nvm install 4.4.7 مع إيقاف تشغيل جدار الحماية. النتيجة واحدة - كلاً من \ AppData node_modules فارغ تمامًا والمجلد \ nodejsnode_modules فارغ.

أي أفكار أخرى؟ سأتحقق أيضًا من مستندات تثبيت العقدة حول مشكلات تثبيت npm إذا كان يخرج عن السيطرة

لا أعتقد أنك بحاجة إلى تثبيت NVM4W مع إيقاف تشغيل جدار الحماية (لأنه كان يستجيب) ... ولكن قد ترغب في اختبار تشغيل nvm install x.x.x مع إيقاف تشغيل جدار الحماية. ما زلت أشك في أن تنزيل npm قد لا يكتمل بنسبة 100٪.

نعم ، لقد أجريت التثبيت مع إيقاف تشغيل جدار الحماية ولم يساعد ذلك. لست متأكدًا من كيفية اختبار الخطأ الآخر الذي قد يحدث أثناء التنزيل أو غير ذلك. إذا كان لديك أي أفكار أخرى أعلمني!

أواجه نفس المشكلة باستخدام nvm 1.1.1 و windows 10. هل هناك أي معلومات تحتاجها للمساعدة في التصحيح. هذا حقا غريب بالنسبة لي. ستعمل لفترة ثم تتوقف في النهاية عن العمل ولم يعد بإمكانها العثور على npm.

NealHumphrey إذا قمت بإلغاء تثبيت الإصدار الذي تستخدمه ، ثم احذف مجلد التثبيت لهذا الإصدار في جذر nvm الخاص بك ، ثم أعد التثبيت ، وعادة ما يعمل هذا لمدة أسبوعين بالنسبة لي ، ثم سيتوقف عن العمل مرة أخرى بنفس الخطأ الذي أبلغت عنه.

LeeGDavis - لم أتمكن مطلقًا من تشغيله ، حتى إعادة تثبيت إصدار Node أو إعادة تثبيت NVM4W ثم Node.

لتصحيح الأخطاء - عندما تكون قادرًا على تشغيله ، ما هي محتويات هذين المجلدين؟
...\AppData\Roaming\nvm\v4.4.7\node_modules
C:\Program Files\nodejs\node_modules

ثم في المرة القادمة التي يتوقف فيها عن العمل من أجلك ، هل يمكنك التحقق مرة أخرى من المحتويات؟

LeeGDavis - إذا توقفت عن العمل بعد فترة من الوقت ، فهناك بالتأكيد شيء ما يحدث في بيئتك. لا تلمس NVM4W أي شيء على الإطلاق ، إلا إذا قمت بتشغيل الأمر nvm . في مكان ما ، يتم تعديل شيء ما. من المفيد معرفة المزيد عن البيئة. على سبيل المثال ، هل أنت في مجال Active Directory؟ هل لديك أي مهام مجدولة؟ هل تم تثبيت برنامج مكافحة فيروسات لديك ، وإذا كان الأمر كذلك ، فما هو (برامج) مكافحة الفيروسات؟

NealHumphrey - فقط للتوضيح ، أنت تقوم بتشغيل nvm install لتثبيت العقدة مع إيقاف تشغيل جدار الحماية ، بدلاً من تشغيل تثبيت nvm بالكامل (GUI) مع إيقاف تشغيل جدار الحماية؟ إذا كنت تريد التحقق من التنزيلات ، فيمكنك مقارنة المجموع الاختباري للإصدارات (متاح على nodejs.org).

وجود نفس المشكلة. تم إيقاف تشغيل جدار الحماية McAfee الخاص بي ويبدو أن التثبيت قد نجح هذه المرة: المجلد \node_modules\nvm موجود هناك.

اختبر التثبيت عن طريق التبديل إلى الإصدار المثبت حديثًا من Node (6.2.2) وتنفيذ الأمر npm --version وأعاد 3.9.5

تحديث: اضطر إلى إلغاء التثبيت لأسباب. عندما أعدت التثبيت (جدار الحماية لا يزال مغلقًا) ، عادت المشكلة إلى الظهور: المجلد \node_modules\nvm\ مفقود. حاولت استخدام محطة GIT BASH وموجه الأوامر في وضع المسؤول لتثبيت Node ، ولكن دائمًا نفس النتيجة.

تحديث 2: تم إيقاف تشغيل جدار الحماية والماسح الضوئي للفيروسات وعمل مرة أخرى ، باستخدام موجه الأوامر في وضع المسؤول.

NealHumphrey و coreybutler حدثت المشكلة مرة أخرى في أقل من أسبوع ، لذلك انتقلت إلى عقدة الفانيليا ، لكنني سأعود إلى nvm في نهاية الأسبوع للمساعدة في التصحيح.

أنا لست في أي مجال يتحكم فيه / إعداد دليل نشط ولا توجد مهام مجدولة. فيما يتعلق بالتثبيت ، لا يبلغ nvm أبدًا عن حدوث فشل ، ولكن يلزم إزالة مجلد التثبيت في جذر nvm لجعله يعمل مرة أخرى بمجرد أن يتم تفكيك الملف التنفيذي من المسار أو أي شيء يحدث ...

واجهت نفس المشكلة بالضبط. تم إلغاء تثبيت MVN ، وإيقاف تشغيل الحماية في الوقت الحقيقي وجدار الحماية من Mcafee ، وإعادة تثبيته ، واختفى الخطأ.

بالتأكيد قضية مكافحة فيروسات. لكن؛ يبدو أنه قد يكون شيئًا يمكن تعديله في الإعدادات. لقد تحققت هذا الصباح من أن NVM4W مدرج في القائمة البيضاء بواسطة Mcafee.

صندوق windows الذي أستخدمه هو تثبيت Vanilla windows 10 pro. لم يتم تثبيت أي برنامج مكافحة فيروسات أو جدار حماية تابع لجهة خارجية ، إلى جانب برنامج الحماية الافتراضي لـ Windows وجدار الحماية الذي أفترضه. ما هو غريب بالنسبة لي إصدار معين (من العقدة المثبتة من خلال nvm4w) سيعمل لفترة من الوقت قبل أن يبدو أنه يتوقف عن العمل ويبدو أن الطريقة الوحيدة لاستعادته هي ما وصفته أعلاه.

LeeGDavis يمكن لـ Windows Defender إزالة الملفات أيضًا. لكن؛ تم إدراج NVM4W في القائمة البيضاء هناك أيضًا. أوصي بمراجعة %PATH% في المرة التالية التي يحدث فيها ذلك. لقد بدأت في الشك في أنه في حالتك ، ربما يقوم AV بتعديل المسار. بمعنى آخر ، قد يكون كل شيء على ما يرام ، لكن يتعذر على Windows العثور عليه. إذا استمر هذا في الحدوث ، فافتح مشكلة جديدة حتى نتمكن من تتبعها.

بالنسبة لعدم تثبيت npm ، ما زلت أعتقد أنه مجرد جدار الحماية / مكافحة الفيروسات الذي يمنع تنزيل npm من موقع توزيع العقدة. إذا نجح حل

coreybutlerLeeGDavis كان Windows Defender هو الجاني بالنسبة لي

كان لدي هذه المشكلة. (Windows 7x64، nvm v1.1.1)
بعد بعض البحث ، وجدت أنه يبدو أن المشكلة في os.Rename(tempDir+"\\nvm-npm\\npm-"+npmv,env.root+"\\v"+version+"\\node_modules\\npm") ، لأن جميع الخطوات السابقة تمت بشكل صحيح.
يمكنني أن أقترح أنه عند تنفيذ هذا الأمر ، يظل dir مشغولًا بسبب أوامر إعادة التسمية السابقة.
ربما تعيد ترتيب الأوامر إلى شيء مثل

os.Rename(tempDir+"\\nvm-npm\\npm-"+npmv,env.root+"\\v"+version+"\\node_modules\\npm")
os.Rename(env.root+"\\v"+version+"\\node_modules\\npm\\bin\\npm",env.root+"\\v"+version+"\\npm")
os.Rename(env.root+"\\v"+version+"\\node_modules\\npm\\bin\\npm.cmd",env.root+"\\v"+version+"\\npm.cmd")

أو اكتشف خطأ وحاول مرة أخرى (بعد ثانية واحدة من السكون)

محدث
لقد كتبت النتيجة الأخيرة لإعادة تسمية ang got
"إعادة تسمية .... الوصول مرفوض."

@ se-m شكرا على البصيرة. الترتيب مهم ، لكن يبدو أن هناك مشكلة التزامن .... على الأقل في بيئتك. ما هو إصدار Go الذي تجري اختباراتك معه؟

إذا كانت حركة الملفات هي المشكلة بالفعل ، فأنا لا أحب استخدام أدوات النوم لأنها لا تحل المشكلة حقًا. os.Rename _should_ فقط قم بنقل الملفات ، ولكن يبدو أن ذلك قد لا يكون موثوقًا به.

coreybutler لقد استخدمت go1.7 للاختبار (فقط اطبع الخطأ)
لا أرى الفرق بين "نقل الملفات أولاً من المجلد ثم المجلد" و "أولاً نقل المجلد ثم نقل الملفات منه" (تم تصحيح المسارات في المثال).

إذا كنت لن تستخدم أدوات النوم أو إعادة الترتيب ، يمكنني فقط اقتراح استخدام أمر "نسخ" بدلاً من "نقل".

للجميع.
تأكد من أن لديك "مشكلة التزامن" (بعد تثبيت nvm xxx):

  1. يوجد ملفان "npm.cmd" و "npm" في مجلد العقدة المثبتة حديثًا (vx.xx)
  2. لا يوجد مجلد "npm" داخل node_modules (vx.xx / node_modules)

@ se-m نعم ، ستكون الخطة استخدام نسخة. بهذه الطريقة يمكن مطابقة المجموع الاختباري للتنزيل ، ثم مرة أخرى بمجرد اكتمال النسخة. يمكن تطبيق التسجيل على كلتا الخطوتين ، والتحقق من سلامة الملف والأذونات.

بدلاً من استخدام النائمين أو نسخة إضافية ، سألتقط الاستثناء المعروف وأعد المحاولة ، وبهذه الطريقة لن يكون لديك حالة سباق ويمكنك إعادة المحاولة X مرة قبل الاستسلام للتعامل مع الأقراص البطيئة "الصدأ الدوار" أو حالة قيام شخص ما بتثبيت ملف تعريف متجول متزامن على الشبكة.

أعلم أن هذا قديم بعض الشيء ، لكن يمكنني أن أؤكد أن تعطيل McAfee أثناء التثبيت قد نجح.

كما اضطررت إلى تعطيل 360 TS لتشغيله ، شكرًا

كان هذا نفس المشكلة. ما تم إصلاحه بالنسبة لي: إزالة "C: \ Users \ {your_username} \ AppData \ Roaming \ npm" من متغير PATH. أعتقد أنه كان بقايا من تثبيت عقدة سابق.

لدي نفس المشكلة @ office حيث لدينا mcAfee enterprise ، عندما يعمل بشكل جيد على جهاز الكمبيوتر المنزلي.
لقد حللت بهذه الطريقة (إنها الأسرع) ، أقوم بتنزيل حزم NPM وأنسخ المحتوى إلى مجلد node_modules / npm. أنه يعمل بشكل جيد.

yuxblank أنا في نفس المركب مثلك - McAfee Enterprise في المكتب. تعطيله ليس خيارا. ساعدني الحل الخاص بك.

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

لقد جربت الطريقة المقترحة وبينما تعمل npm ، لا تزال عمليات التثبيت العالمية لا تعمل بالنسبة لي - بنفس السلوك مثل npm ، تكون وحدات node_modules فارغة بخلاف ما قمت بنسخه يدويًا.

هل كان هذا هو نفسه يا رفاق؟

لقد قمت بتثبيت جديد لنظام التشغيل Windows 10 Pro مع عدم وجود عقدة أو npm مثبتة سابقًا ولدي حاليًا عقدة مثبتة عبر nvm install latest ولكن لا يوجد npm

نفس المشكلة Windows 10 pro أثناء تثبيت 8.9.1. حصلت على عقدة ، لكن nvm \ v8.9.1node_modules فارغ مثل c: \ ملفات البرنامج \ nodejsnode_modules. يحتوي كمبيوتر العمل على McAffee لا يمكن تعطيله. سأقوم بتنزيل npm والتثبيت يدويًا.

+1
قبل تثبيت إصدار العقدة الجديد (9.5.0)
بعد تثبيت nvm وحاولت التبديل إلى الإصدار 6.10.0 وتحولت ولكن إذا
قمت بتشغيل npm start ثم رأيت:

module.js:471
    throw err;
    ^

Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:394:7)
    at startup (bootstrap_node.js:149:9)
    at bootstrap_node.js:509:3
module.js:471
    throw err;
    ^

Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:394:7)
    at startup (bootstrap_node.js:149:9)
    at bootstrap_node.js:509:3

إذا عدت إلى إصدار العقدة 9.5.0 المثبت (مثبت بدون استخدام nvm) ، فإن npm start سيعمل

تثبيت جديد لنظام التشغيل Windows 10 ، لا يوجد برنامج مكافحة فيروسات ، ولا يوجد npm ... :(

نفس الشيء هنا ، أوقف تشغيل Mcafee الحماية في الوقت الفعلي وجدار الحماية ، وأعد تثبيته وأصبح npm متاحًا الآن.

قم بإيقاف تشغيل جدار الحماية McAfee والحماية في الوقت الفعلي قامت بتثبيت جديد وحصلت على خطأ: عملية EISDIR غير قانونية على دليل ، اقرأ.
خطأ TYPE: لا يمكن قراءة الخاصية 'get' غير معرفة عند errorHandler (C: \ Program Files \ nodejsnode_modulesnpm \ lib \ utilserror-handler.js: 205: 18)

باستخدام نظام التشغيل windows 10
إصدار العقدة 8.9.4

تسبب برنامج Avira Antivirus في حدوث هذه المشكلة على جهاز الكمبيوتر الخاص بي. Win10 ، أي عقدة و npm

أعد تثبيت نظام التشغيل من Windows 10 إلى 7 واستخدم NVM دون أي مشاكل 😁

واجهت نفس المشكلة ، ووجدت بالصدفة حلاً ممكنًا (ولكن لم يتم التحقق منه لأنني لم أرغب في إلغاء تثبيت الإصدار الجديد من العقدة مرة أخرى). إذن هنا ما حدث:

  • بمجرد تشغيل تثبيت nvm ، يتم إنشاء مجلد مؤقت في AppData / Roaming / nvm /
  • عند إنشائه ، ذهبت إلى مجلد temp -> nvm-npm -> npm-xyz باستخدام مستكشف (أو ربما في nvm-npm لا أتذكره جيدًا)
  • أعتقد أنه بطريقة ما من خلال استكشاف هذا المجلد ، فإنه يقوم بتأمينه نوعاً ما ، ويمنع Windows من حذفه
  • ثم لاحظت أنه في ذلك الوقت تم نقل مجلد npm بشكل صحيح إلى nvm / vx.yy / node_modules ، بينما كان دائمًا يفشل من قبل.

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

لقد واجهت هذه المشكلة ، لكنني تمكنت من حلها ببساطة عن طريق إعادة تشغيل أمر استخدام nvm.

أحدث إصدار من nvm حل المشكلة بالنسبة لي.

بعد عدة محاولات ، فقط تعطيل "حماية الوصول" McAfee دع nvm أخيرًا يثبت npm بشكل صحيح!
ما هو مزعج حقًا هو أن McAfee لا تظهر أي سجل لذلك: "لا يوجد أي تهديد" سيدي ... نعم فقط منعت إنشاء بعض الملفات ، أود أن أقول إنه حدث!

لسوء الحظ بالنسبة لي ، لا شيء مما سبق يعمل. تم تعطيل McAfee ، والمدافع متوقف ، ولكن ما زلت أحصل على المشكلة. كما لاحظ AlainD ، أرى أنه يتم تنزيله ومرحلة مؤقتة ... ولكن إذا حاولت القيام بما يقترحه ، ينتهي بي الأمر في مجلد فارغ. لا يتم نسخ أي شيء إلى node_modules والمجلد الذي أكون فيه فارغًا - مسار المجلدات إلى حيث كنت هو كل ما تبقى.

لذا ، نعم ، المشكلة بالتأكيد هي النقل / النسخ من temp إلى node_modules التي بها المشكلة.

نعم لقد حاولت تشغيل كمسؤول CMD وكذلك بشكل منتظم. لم أضع git bash في هذا الصندوق بعد.

تم حله عن طريق نسخ مجلد npm (ضمن nodemodules) من أرشيف zip الذي قمت بتنزيله يدويًا من nodejs.org. ليست مثالية ولكن تم حل مشكلة McAfee.

لدي أيضًا نفس المشكلة ، لكنني كان تثبيت npm غير مكتمل إلى حد ما بعد التبديل إلى العقدة 10.7.0 و npm 6.1.0 - كانت تفتقر أولاً إلى حزمة uuid ، ثم حزمة semver في C: \ ProgramDatanvm \ v10.7.0node_modulesnpm. ليس لدي برنامج McAfee ، على الرغم من أن لدي برنامج COMODO لمكافحة الفيروسات.

كان الحل الخاص بي هو نفسه تقريبًا مثل حل YafimK - لكنني قمت للتو بنسخ npm-v6.1.0.zip من مجلد nvm \ temp ، ثم فككته يدويًا في C: \ ProgramDatanvm \ v10.7.0node_modulesnpm. انطلاقًا من محتوياته ، يمكنك ببساطة تنزيل نفس المجلد من https://github.com/npm/cli/releases دون التدخل في المجلدات المؤقتة.

أتمنى أن يساعد هذا شخص ما. آمل أيضًا أن تحل nvmw هذه المشكلة.

يبدو أن هذه مشكلة متقطعة.

nvm uninstall 9.4
rm -r ~\AppData\Roaming\nvm\v9.4.0
nvm install 9.4
nvm use 9.4
Start-Sleep -Seconds 1
npm --version

إذا قمت بتشغيل هذا البرنامج النصي بشكل متكرر من PowerShell كمسؤول ، فقد ينجح أحيانًا في تثبيت npm ، وأحيانًا يفشل مع الخطأ ، Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js' .

لذلك ، في الأساس ، يمكنني تشغيله فقط عن طريق إلغاء التثبيت وإعادة التثبيت حتى يعمل بشكل عشوائي.

غيرت npm الريبو من npm / npm إلى npm / cli. كان سيؤثر على أي تثبيت لـ Node 10.8.0+. تم إصلاح هذا في 1.1.7.

coreybutler حسنًا ، هذا أمر

شكرا للتثبيت على الرغم من.

فقط قم بتثبيت nvm 1.1.7 وما زلت تواجه هذه المشكلة على Windows 10 Enterprise 1709.
لم يساعد تعطيل McAfee Endpoint Security Firewall قبل تثبيت nvm واستخدام تثبيت nvm.

نفس الوضع مثل ralfhandl هنا.

robertmain - في الواقع. لقد غيرت npm الأشياء عدة مرات دون زقزقة.

ralfhandl & mmascolino - فقط تأكد من أنك قمت بتشغيل nvm use x.x.x قبل npm help ، أليس كذلك؟ نظرت إلى المشكلة الأصلية وأدركت أن OP لم تذكر تشغيل ذلك (على الرغم من أن التعليق يظهر ناتج nvm مع تعليمات لتشغيل nvm use ).

أقوم بإغلاق هذه المشكلة للأسباب التالية:

  1. نسي العديد من الأشخاص تشغيل nvm use x.x.x (انظر الرد المحدث على الرسالة الأصلية أعلاه)
  2. تم احتساب تغيير npm repo (راجع الإصدار رقم 373)
  3. ليس هناك الكثير الذي يمكنني القيام به حيال بعض إصدارات npm حيث تكون الأذونات مشفرة بشكل ثابت. راجع https://github.com/coreybutler/nvm-windows/issues/300#issuecomment -332030011 للحصول على التفاصيل.

إذا كنت لا تزال تواجه مشكلة كهذه ، فافتح مشكلة جديدة.

بالتأكيد استخدم nvm 8.11.4 قبل محاولة استخدام npm

تخضع العقدة 8.xx لأذونات npm المشفرة (انظر # 300). هل يمكن لشخص ما لديه Win 10 Enterprise ( mmascolino أوralfhandl) تجربة إصدار أحدث أو أقدم من Node؟ لا أرى أي سبب يجعل NVM4W يتصرف بشكل مختلف في نكهة Windows هذه ، ولكن هناك مشكلة npm المعروفة في Node 8.xx والتي يمكن أن تكون السبب.

لقد قمت بتثبيت إصدارات Node 10.9.0 و 8.11.4 و 6.14.4 و 6.9.0.

في جميع الحالات ، بدا أن nvm install x.y.z يعمل بشكل جيد ، وبعد nvm use x.y.z عملت العقدة نفسها بشكل جيد ، لكن npm كانت مفقودة واضطررت إلى تنزيل npm بشكل منفصل وفك ضغطها إلى C:\Users\xxx\AppData\Roaming\nvm\vx.y.z\node_modules .

ها أنت ذا:

C:\Users\mascolino.mm>nvm install 10.9.0
Downloading node.js version 10.9.0 (64-bit)...
Complete
Creating C:\Users\mascolino.mm\AppData\Roaming\nvm\temp

Downloading npm version 6.2.0... Complete
Installing npm v6.2.0...

Installation complete. If you want to use this version, type

nvm use 10.9.0

C:\Users\mascolino.mm>nvm use 10.9.0
Now using node v10.9.0 (64-bit)

C:\Users\mascolino.mm>npm
internal/modules/cjs/loader.js:583
    throw err;
    ^

Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
    at Function.Module._load (internal/modules/cjs/loader.js:507:25)
    at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:266:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:596:3)
internal/modules/cjs/loader.js:583
    throw err;
    ^

Error: Cannot find module 'C:\Program Files\nodejs\node_modules\npm\bin\npm-cli.js'
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:581:15)
    at Function.Module._load (internal/modules/cjs/loader.js:507:25)
    at Function.Module.runMain (internal/modules/cjs/loader.js:742:12)
    at startup (internal/bootstrap/node.js:266:19)
    at bootstrapNodeJSCore (internal/bootstrap/node.js:596:3)

مجلد node_modules ( C:\Users\mascolino.mm\AppData\Roaming\nvm\v10.9.0\node_modules ) فارغ تمامًا.

مثل mmascolino هنا

تمامًا مثل mmascolino هنا ، الاختلاف الوحيد بالنسبة لي هو المجلد الوجهة لإصدارات العقدة وهو c: \ ProgramDatanvm \ v10.11.0.

مجلد node_modules فارغ تمامًا.

نفس

أواجه نفس المشكلة أيضًا.

تأكد من إزالة التثبيتات السابقة للعقدة (كما هو موضح في README). هذا هو السبب الأكثر شيوعًا لهذه الأخطاء ، لأن npm يتم الخلط بين الإصدارات. لاحظ الخطأ ينص على Cannot find module ، وهو خطأ npm. يشير هذا إلى اكتشاف npm _is_ .... ولكن ليس الإصدار الصحيح.

تحقق أيضًا من دليل temp الخاص بك ، في حالة mmascolino سيكون C:\Users\mascolino.mm\AppData\Roaming\nvm\temp لمعرفة ما إذا كانت هناك ملفات. إذا لم يكن هناك شيء ، فقد يكون التنزيل قد فشل لسبب ما ... والذي قد يكون إعداد جدار حماية أو خلل في الشبكة أو مشكلة أذونات.

coreybutler IMO ، يجب تحسين README. إذا كانت هذه خطوة مطلوبة ، فيجب أن تكون فقرتها الخاصة وأن تكون بخط غامق.

هذه هي النسخة الحالية:

يأتي مع مُثبِّت (ومزيل للتثبيت) ، لأن الحصول عليه يجب أن يكون سهلاً. يرجى ملاحظة أنك تحتاج إلى إلغاء تثبيت أي إصدارات موجودة من node.js قبل تثبيت NVM لنظام التشغيل Windows. احذف أيضًا أي أدلة تثبيت موجودة لـ nodejs (على سبيل المثال ، "C: \ Program Files \ nodejs") التي قد تبقى. لن يقوم الارتباط الرمزي الذي تم إنشاؤه بواسطة NVM بالكتابة فوق دليل التثبيت الموجود (حتى الفارغ).

هذا لا يبرز أهمية إلغاء تثبيت الإصدارات الحالية ، ولا يوفر طريقة سهلة للمستخدمين للقيام بذلك. إذا كان هذا مطلوبًا للعمل nvm-windows ، يجب أن نعرض تحذيرًا عند التشغيل (e..g C;\Program Files\nodejs exists, this may cause problems with installation ). والأفضل من ذلك هو توفير أمر لتنظيف المنشآت الحالية.

cdtinney - المثبت لديه ملاحظة حول هذا فيه. لا يمكنني جعلها غامقة (في المثبت) ، ولكن هناك شاشة لها. لا تتردد في تحديث README وإرسال تصريح إقامة. أنا أقبلها.

أهلا،

واجهت مشكلة مماثلة لتلك التي تم الإبلاغ عنها هنا باستخدام nvm 1.1.7 على نظام التشغيل Windows 10 والتي تم حلها في أحدث إصدار من البرنامج الرئيسي.

بشكل أساسي ، كان nvm يقوم بتنزيل nodejs ، وتم تنزيل واستخراج npm zip بشكل صحيح. فشلت النسخة إلى الدليل nodes_module ولكن مع عدم وجود خطأ.

لقد سحبت أحدث إصدار رئيسي وقمت ببناء التثبيت محليًا بشكل صحيح.

إحدى المشكلات التي لاحظتها عند تصحيح الأخطاء هي أنه على السطر https://github.com/coreybutler/nvm-windows/blob/0a258f810d13eb20c56f6bebe575cd7451348d03/src/nvm.go#L298
إذا فشلت عملية النقل بعد عمليات إعادة المحاولة ، فلن يتم تسجيل الخطأ أو لا يفشل التثبيت.

هل ستكون قادرًا على إصدار إصدار جديد من أحدث إصدار من Master؟

شكرا على العمل والتحيات الطيبة ،
فيرغوس

لدي هذه المشكلة للتو. لقد جربت جميع الحلول باستثناء تعطيل McAfee ، والذي لا يُسمح لي بذلك ، الحل الوحيد الذي نجح بالنسبة لي هو تنزيل ملف Windows Binary zip الخاص بالعقدة ، وفك ضغطه ، ونقل مجلد npm الموجود في node_module الخاص به ووضعه في الملف الذي تم إنشاؤه بواسطة nvm-windows الموجود في C: \ Program Files \ nodejsnode_modules

إن حسابي هو Windows 10 64bit 1803 ، باستخدام أحدث إصدار nvm windows 1.1.7.

يحتاج بعض الأشخاص إلى تعديل npm.cmd وإضافة المسار. (في مكان ما أسفل دليل nvm ، ربما nvm \ vX.Y.Znpm.cmd)

في السطر 6 ، يتم تحديد ملف العقدة القابل للتنفيذ.
في حسدتي ، أشار أدناه.
SET "NODE_EXE=%~dp0\node.exe"

يحاول هذا استخدام node.exe في نفس الدليل.
ولكن في الواقع يوجد node64.exe ، بدلاً من node.exe.
لذلك أعدت كتابة node.exe إلى node64.exe.

بعد ذلك ، تحتاج إلى إضافة الدليل حيث يوجد npm.cmd إلى PATH.
أغلق كافة ملفات cmd.
يعمل هذا بشكل جيد منذ فتح cmd جديد.

لا أعرف أن هذا يعمل بشكل جيد أيضًا إذا كنت تستخدم إصدارات متعددة من nodejs وتبديلها.

يمكن تأكيد فواصل McAfee npm. لقد استبعدنا بالفعل مجلدًا معينًا ، ما عليك سوى تثبيت مسارات nvm و npm في هذا المجلد.

كان لي هذه المسألة أيضا.
لقد قمت بحل هذه المشكلة عن طريق تشغيل nvm-setup.exe كمسؤول

قم بتغيير دليل التثبيت إلى C: \ NVM 🎉

أقفل هذه المحادثة لأنه يجب تقديم المشكلات الجديدة كـ .... قضايا جديدة.

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