Nvm-windows: فشل npm: "لا يمكن العثور على الوحدة النمطية 'semver' (العقدة v8.4.0)

تم إنشاؤها على ١٥ سبتمبر ٢٠١٧  ·  39تعليقات  ·  مصدر: coreybutler/nvm-windows

إذا كان هذا سؤالًا حول كيفية استخدام NVM4W ، فيرجى استخدام stackoverflow بدلاً من ذلك.

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

بيئتي

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

  • [] تثبيت Windows الخاص بي بلغة غير الإنجليزية.

أنا أستخدم إصدار NVM4W:

  • [] 1.1.6
  • [X] 1.1.5
  • [] 1.1.4
  • [] 1.1.3
  • [] 1.1.2
  • [] 1.1.1
  • [ ] اكبر سنا
  • [ ] غير ذلك (يرجى التحديد)

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

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

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

  • [] settings.txt
  • [] دعم الوكيل (هل جربت الإصدار 1.1.0+؟)
  • [] دعم 32 أو 64 بت (هل جربت الإصدار 1.1.3+؟)
  • [] شخصية تهرب (هل جربت الإصدار 1.1.6+؟)
  • [X] بيئة غلاف قياسية (طرفية / هيكل طاقة)
  • [] بيئة غلاف غير قياسية (Cmder ، Hyper ، Cygwin ، git)

سلوك متوقع

إرجاع رقم الإصدار الصحيح.

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

module.js: 491
رمي يخطئ
^

خطأ: لا يمكن العثور على الوحدة النمطية "semver"
في Function.Module._resolveFilename (module.js: 489: 15)
في Function.Module._load (module.js: 439: 25)
في Module.require (module.js: 517: 17)
عند الطلب (داخلي / module.js: 11:18)
في الكائن.(C: \ Users \ leofu \ AppData \ Roaming \ nvm \ nvm \ v8.4.0 \ node_modules \ npm \ lib \ utils \ unsupported.js: 2: 14)
في Module._compile (module.js: 573: 30)
في Object.Module._extensions..js (module.js: 584: 10)
في Module.load (module.js: 507: 32)
في tryModuleLoad (module.js: 470: 12)
في Function.Module._load (module.js: 462: 3)
module.js: 491
رمي يخطئ
^

خطأ: لا يمكن العثور على الوحدة النمطية "semver"
في Function.Module._resolveFilename (module.js: 489: 15)
في Function.Module._load (module.js: 439: 25)
في Module.require (module.js: 517: 17)
عند الطلب (داخلي / module.js: 11:18)
في الكائن.(C: \ Users \ leofu \ AppData \ Roaming \ nvm \ nvm \ v8.4.0 \ node_modules \ npm \ lib \ utils \ unsupported.js: 2: 14)
في Module._compile (module.js: 573: 30)
في Object.Module._extensions..js (module.js: 584: 10)
في Module.load (module.js: 507: 32)
في tryModuleLoad (module.js: 470: 12)
في Function.Module._load (module.js: 462: 3)

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

تثبيت nvm 8.4.0
استخدام nvm 8.4.0
npm -v

help wanted

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

نفس الشيء في أحدث إصدار 8.8.1.
لست متأكدًا من كيفية إصلاح ذلك من خلال NVM لأن ما تقترحه SO هو مجرد إعادة تثبيت نظيفة للعقدة. نظرًا لطبيعة عمليات تثبيت nvm ، لست متأكدًا من كيفية تكرار هذه الخطوات. لذا فإن الطريقة الوحيدة لاستخدام العقدة v8 هي عدم استخدام NVM؟
https://stackoverflow.com/questions/33870520/npm-install-cannot-find-module-semver

الحل

  1. nvm install 8.8.1 (أو نسخة أخرى تريدها). لا تقم بالتبديل إليه (بعد).
  2. قم بتنزيل * .zip من نفس إصدار العقدة من الموقع الرسمي (https://nodejs.org/en/download/current/)
  3. استبدل محتويات %APPDATA%/nvm/v8.8.1/npm npm بالمجلد
  4. nvm use 8.8.1
  5. استمتع

ال 39 كومينتر

هذا خطأ npm ، وليس خطأ NVM بالكامل. أقترح إعادة تثبيت العقدة 8.4.0 .... ربما كان تنزيل npm سيئًا أو كان هناك شيء تالف.

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

حتى أنني قمت بنسخ تبعيات node_modules الخاصة بـ npm من تثبيت عادي آخر للعقدة 8.5.0 وما زلت أواجه مشكلات. هل يمكنك أن تنظر في الأمر أكثر ، وترى ما هي المشكلة؟

إن nvm هي أداة مفيدة حقًا ولكنها لا تعمل بعد الآن ، ومن المؤسف:

لست متأكدًا مما سأقوله لك .... يمكنني تثبيت semver ما يرام بنفس الإعداد.

image

coreybutler فقط فتح مشكلة جديدة بالتفاصيل

بيئتي الخاصة والخطوات التي استخدمتها لتكرار المشكلة هنا (نسخة مكررة مغلقة): # 305

نفس الشيء في أحدث إصدار 8.8.1.
لست متأكدًا من كيفية إصلاح ذلك من خلال NVM لأن ما تقترحه SO هو مجرد إعادة تثبيت نظيفة للعقدة. نظرًا لطبيعة عمليات تثبيت nvm ، لست متأكدًا من كيفية تكرار هذه الخطوات. لذا فإن الطريقة الوحيدة لاستخدام العقدة v8 هي عدم استخدام NVM؟
https://stackoverflow.com/questions/33870520/npm-install-cannot-find-module-semver

الحل

  1. nvm install 8.8.1 (أو نسخة أخرى تريدها). لا تقم بالتبديل إليه (بعد).
  2. قم بتنزيل * .zip من نفس إصدار العقدة من الموقع الرسمي (https://nodejs.org/en/download/current/)
  3. استبدل محتويات %APPDATA%/nvm/v8.8.1/npm npm بالمجلد
  4. nvm use 8.8.1
  5. استمتع

شكرًا @ roman-spiridonov واجه للتو نفس الخطأ في العقدة 8.8.1 المثبتة عبر nvm على windows ويبدو أن الحل الخاص بك يؤدي المهمة

يبدو أنه عمل أيضًا باستخدام أحدث إصدار من العقدة (9.1.0).

يبدو أن npm الذي تم تثبيته من npm غير متوافق مع العقدة نفسها ، يجب عليك تنزيل ملف zip واستبدال وحدة npm مثل @ roman-spiridonov اقترح

coreybutler ألا يتم معالجة هذا؟ أرى نفس الخطأ بالضبط - أي شيء أعلاه = <8.0.

لسوء الحظ ، لا يمكنني تشغيل npm i semver أحصل على نفس الخطأ.

@ roman-spiridonov لا أجد أن "npm" عبارة عن مجلد ، ولكنه ملف في .zip الذي تم تنزيله. لا يبدو أن استبداله بالملف الذي تم تنزيله يحل مشكلات semver بالنسبة لي (أعرف أن الآخرين قد نجحوا)

لدي نفس المشكلة.

عمل @ roman-spiridonov بالنسبة لي.

node 8.9.1
npm 5.5.1

hyndsite تحتاج إلى البحث داخل دليل node_modules - بداخله دليل npm . استخدم ذلك ويجب أن يعمل.

شكرًا powellian لقد وجدت أنه بالأمس وكنت سأقوم بنشر تحديث جديد على رسالة @ roman-spiridonov - أن المسار الصحيح هو %APPDATA%/nvm/v8.8.1/node_modules/npm

ساعد ملف "npm" في المسار /nvm/vx.xx على إرباك الأمر.

شكرًا لك ، إنها تعمل ، لكنني الآن أتساءل لماذا تختلف الحزمة التي يتم تنزيلها من nvm والحزمة التي نقوم بتنزيلها؟

نفس المشكلة مع 8.9.0 وحل @ roman-spiridonov أنقذت الموقف.

مثل benavern ، أشعر بالفضول بسبب اختلاف تثبيت الحزمة nvm عن تلك الموجودة في الريبو الرسمي.

نفس الشيء في أحدث إصدار 8.9.4.
تم حل الخطأ عن طريق حذف الدليل "C: \ Users \ yourname \ AppData \ Roamingnvm \ v *" وإعادة تنفيذ "تثبيت nvm".

الحل:

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

المرجع: https://github.com/coreybutler/nvm-windows/issues/305#issuecomment -345024594
المرجع: https://superuser.com/a/1119948

لكن بالنسبة لي ، ما زلت بحاجة إلى حل @ roman-spiridonov. ومع ذلك ، لم أتمكن من نسخ مجلد npm في Explorer ، وبدلاً من ذلك كنت بحاجة إلى استخدام robocopy:

robocopy "C:\Users\username\Downloads\node-v8.9.4-win-x64\node_modules\npm" "C:\Users\username\AppData\Roaming\nvm\v8.9.4\node_modules\npm" /mir

بديل لتحريك جذر nvm. افعل nvm root C:\nvm قبل تثبيت العقدة الجديدة.
قد تحتاج أيضًا إلى نسخ ملفات إضافية إلى الجذر الجديد.
إذا تم التثبيت بالفعل ، فحينئذٍ:

nvm uninstall 8.x.x
nvm root C:\nvm
copy /Y %APPDATA%\nvm\* C:\nvm
nvm install 8.x.x

واجهت نفس المشكلة (خطأ: لا يمكن العثور على الوحدة النمطية "semver").

بعض التلميحات لمساعدتك على المضي قدمًا:

أظهرت مقارنة الملفات (باستخدام ملف مضغوط رسمي) أن هناك بالفعل> 4k من الملفات والمجلدات مفقودة تحت node_modules\npm . يبدو أنه تم إحباط عملية فك الضغط. تم التحقق من v8.9.1 و v8.9.4: جميع وحدات_العقد أبجديًا خلف libnpx مفقودة. لن تفاجأ إذا كان الأمر يتعلق بهيكل المجلدات المتداخلة بشكل يبعث على السخرية: ...\nvm\v8.9.4\node_modules\npm\node_modules\libnpx\node_modules\yargs\node_modules\read-pkg-up\node_modules\read-pkg\node_modules\load-json-file\node_modules\parse-json\node_modules\error-ex\node_modules\is-arrayish\

أخذت النسخة الرئيسية الحالية من nvm-windows ، وأضفت بعض معلومات التصحيح إلى وظيفة التثبيت داخل nvm.go ، وقمت بتجميعها (مع Go 1.10 win x64) واستبدلت nvm.exe مع الجديد. نتيجة:

  • الملف المضغوط npm الذي يتم تنزيله إلى الدليل المؤقت _is_ هو في الواقع الملف الرسمي. ( benavern ، Akamaozu )
  • تم استخراج الملف المضغوط بالكامل داخل الدليل المؤقت ونقله إلى المجلد الخاص بالإصدار. لا توجد ملفات مفقودة.

الآن بالنسبة للجزء المدهش ، حيث حاولت إيجاد الانحدار:

  • تم سحب العلامة 1.1.6 ، المترجمة (بدون أي تغييرات) ، واستبدال nvm.exe بالآخر الجديد ، حذف v8.9.4 ، تشغيل تثبيت nvm 8.9.4 => ناجح ، لا توجد ملفات مفقودة
  • تم سحب العلامة 1.1.5 ، المترجمة (بدون أي تغييرات) ، واستبدلت nvm.exe بالآخر الجديد ، وحذف v8.9.4 ، وتشغيل تثبيت nvm 8.9.4 => ناجح ، لا توجد ملفات مفقودة
  • تم استبدال nvm.exe بالإصدار الأصلي من إعداد nvm-windows الرسمي (1.1.5) ، حذف v8.9.4 ، تشغيل تثبيت nvm 8.9.4 => لا يزال خطأ ، الملفات مفقودة.

يبدو لي أن هناك مشكلة في عملية الإنشاء و / أو البيئة.

سيكون رائعًا إذا تمكن شخص آخر من محاولة إعادة إنشاء nvm.exe عبر build.bat أو go build src/nvm.go يحل المشكلة له / لها أيضًا.

HTH ، كودشيل

احذف مجلد npm من المجلد أدناه
C: \ Usersusername \ AppData \ Roamingnpm
بعد تثبيت => npm
إنه يعمل بشكل جيد بالنسبة لي!....

واجهت للتو هذه المشكلة اليوم وهذا العمل بالنسبة لي.
1) افتح محطة باش
2) القرص المضغوط في C: \ Usersusername \ AppData \ Roamingnpm \ node_modules \
3) يجب أن ترى package.json
4) تثبيت الغزل

codeshell شكرا

لتجنب ذلك قمت بإلغاء تثبيت إصدار العقدة 9.11.1 ، ثم قمت بإلغاء تثبيت nvm. إعادة تثبيت nvm في C: nvm. الآن يعمل 'nvm install 9.11.1' العادي الخاص بي بشكل جيد كما أن 'npm' في حالة جيدة أيضًا من خلال تشغيل 'npm -v'.

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

لقد اتبعت هذه الخطوات وحلت مشكلتي

  1. قم بإلغاء تثبيت Node.js
  2. قم بإزالة محتوى المجلدات التالية
    ج: \ المستخدمون \\ AppData \ Roamingnpm- ذاكرة التخزين المؤقت
    ج: \ المستخدمون \\ AppData \ Roamingnpm
    C: \ Program Files \ nodejs
  3. ثم قم مرة أخرى بتثبيت Node _ https://nodejs.org/ar/_

تثبيت العقدة من خلال nvm 1.6.0 عملت بالنسبة لي

في حالتي ، كانت المسارات طويلة جدًا. اخترت c: nvm كمدير إصدار دليل التثبيت و c: \ nodejs لدليل الارتباط الرمزي. يبدو أن هذا حل المشكلة بالنسبة لي.

كان لدي نفس المشكلة مع العقدة v10.4.0 وكان الحل البديل من رومان سبيريدونوف يعمل معي.

لقد قمت بالفعل بإزالة %AppData%\npm وما إلى ذلك قبل تثبيت nvm-windows.

حاولت تشغيل 10.4.1 ، واجهت مشاكل في البداية.

حصلت عليه للعمل بعد حذف المجلد من موقع التثبيت يدويًا والتثبيت عبر nvm مرة أخرى. لست متأكدًا مما إذا كان هذا المسار طويلاً جدًا (من الواضح أنه ليس) C:\Users\muser\AppData\Roaming\nvm\v10.4.1 .

نفس المشكلة مع v10.5.0 وحل رومان سبيريدونوف عملت معي أيضًا.

لدي نفس المشكلة عند تثبيت أحدث عقدة v10.6.0 ، ثم قمت للتو بإلغاء تثبيته وتحولت إلى v8.11.3 ، تم حل المشكلة.

حاولت أيضًا تنزيل ملف npm-v6.1.0.zip مباشرةً ، فهو يحتوي على بعض الأخطاء عند فك الضغط.

واجهت نفس مشكلة

استمرت المشكلة مع 10.6.0-64bit لتثبيت أول نظيف كامل. (لا توجد عقدة / npm من قبل). يستمر حل roman-spiridonovs في العمل (بالنسبة لي يمكن الآن العثور على مجلد npm في [...node]\node_modules\npm )

لماذا لا تزال هذه مشكلة بعد عام كامل تقريبًا؟

واجهت للتو هذه المشكلة على نظام التشغيل Windows 10.

أدى تمكين مسارات Win32 الطويلة إلى إصلاح المشكلة. انظر آخر منapptaro (2018/02/15)

بعد تمكين المسارات الطويلة ، أعدت تشغيل Windows لإجراء التغيير.
اضطررت أيضًا إلى حذف تثبيت npm المعطل يدويًا.

بعد ذلك ، يمكنني تثبيت npm مرة أخرى باستخدام nvm .

أشعر أن nvm تحت Windows يجب أن يصدر تحذيرات إذا لم يتم تمكين المسارات الطويلة. nvm install أيضًا يجب ألا يفشل بصمت.

لي:

  • كان nvm install 9.11.2 هو آخر إصدار وجدته يعمل من خلال nvm.
  • الكتابة فوق الملف المضغوط من موقع الويب تعمل على أي إصدار.
  • يبدو أن إصلاح المسارات الطويلة لا يعمل (على الرغم من أنني لا أعتقد أنني حاولت إعادة تشغيل الجهاز بعد تغيير إعداد التسجيل).

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

# Get Chocolatey which is required for the rest of this script
iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
choco feature enable -n=allowGlobalConfirmation
choco upgrade chocolatey

choco upgrade nvm
$env:NVM_HOME = [System.Environment]::ExpandEnvironmentVariables([System.Environment]::GetEnvironmentVariable("NVM_HOME","Machine"))
$env:NVM_SYMLINK = [System.Environment]::ExpandEnvironmentVariables([System.Environment]::GetEnvironmentVariable("NVM_SYMLINK","Machine"))
$env:Path = [System.Environment]::ExpandEnvironmentVariables([System.Environment]::GetEnvironmentVariable("Path","Machine") + ";" + [System.Environment]::GetEnvironmentVariable("Path","User"))

# Enable long paths in windows - may avoid npm issue https://github.com/coreybutler/nvm-windows/issues/302
New-ItemProperty -Path 'HKLM:\SYSTEM\CurrentControlSet\Control\FileSystem' -Name 'LongPathsEnabled' -Value 1 -PropertyType DWORD -Force | Out-Null
New-ItemProperty -Path 'HKLM:\SYSTEM\ControlSet001\Control\FileSystem' -Name 'LongPathsEnabled' -Value 1 -PropertyType DWORD -Force | Out-Null

nvm install 9.11.2
nvm use 9.11.2

لست متأكدًا مما سأقوله لك .... يمكنني تثبيت semver ما يرام بنفس الإعداد.

image

أعتقد أن تشغيل "تثبيت npm" سيحل المشكلة ، كما فعلت معي ؛)

أعتقد أن momochanmo قد نسوا للتو تثبيت حزمة semver في مشروعهم. تحتوي على نفس رسالة الخطأ ولكن هذه مشكلة مختلفة تمامًا.

للتلخيص: يدور هذا الموضوع حول حقيقة أن nvm يقوم بتثبيت إصدار تالف من npm مع إصدار مفقود / تالف من حزمة semver ، مما يجعله غير قابل للتشغيل.

السبب الأساسي الأكثر ترجيحًا الذي تم اقتراحه حتى الآن هو أن تغيير الخطأ / السلوك الذي تم إدخاله في مترجم Go منذ حوالي 3 سنوات تسبب في حدوث خطأ يتم ابتلاعه بصمت أثناء التثبيت. راجع https://github.com/coreybutler/nvm-windows/pull/370.

لذا ، إذا كنت تعرف شخصًا يعمل مع عناصر Windows ومتحمسًا لـ Go ، فقد حان الوقت الآن للنقر على كتفه وتقديم هذه الفرصة الممتازة للتطوير الوظيفي 😅

لقد اتبعت هذه الخطوات وحلت مشكلتي

  1. قم بإلغاء تثبيت Node.js
  2. قم بإزالة محتوى المجلدات التالية
    ج: \ المستخدمون\ AppData \ Roamingnpm- ذاكرة التخزين المؤقت
    ج: \ المستخدمون\ AppData \ Roamingnpm
    C: \ Program Files \ nodejs
  3. ثم قم مرة أخرى بتثبيت Node _ https://nodejs.org/ar/_

بعد هذا عملت بالنسبة لي. كنت منقذا للحياة!!!!! شكرا <3

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