Nvm-windows: لا يمكن الاعتماد على mklink على نظام التشغيل Windows 10

تم إنشاؤها على ٤ مايو ٢٠١٧  ·  3تعليقات  ·  مصدر: 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] اقرأ التمهيدي لتكون على دراية بمشاكل npm gotchas ومكافحة الفيروسات.
  • قام [X] بمراجعة الويكي للتأكد من أن مشكلتي لم يتم حلها بالفعل.
  • تحقق [X] من أنني أستخدم حسابًا بامتيازات إدارية.
  • [X] بحث في المشكلات (مفتوحة ومغلقة) للتأكد من أن هذه ليست مكررة.
  • تأكد [X] من أن هذا ليس سؤالًا حول كيفية استخدام NVM لنظام التشغيل Windows ، حيث يتم استخدام gitter للأسئلة والتعليقات.

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

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

سلوك متوقع

يجب أن ينشئ nvm use <version> ارتباط رمزي في

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

لا يتم إنشاء الارتباط الرمزي دائمًا ، حتى لو قمت بتشغيل استخدام nvm من غلاف مرتفع.

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

nvm install 6.9.1
nvm use 6.9.1

تم توجيهي من خلال البرنامج النصي Elevate.cmd ، أجبت بنعم ، لم يتم إنشاء الارتباط الرمزي

لا أعرف ما إذا كان الأمر متعلقًا ولكنني أدير nvm use من بوويرشيل.
كما أنه عشوائي نوعًا ما ، في بعض أنظمة التشغيل Windows 10 لدي مشكلة ، وفي حالات أخرى لا أعرفها.
أعتقد أن الحل الجيد هو اختبار ما إذا تم إنشاء رابط رمزي بعد تشغيل cmd.exe mklink. إذا لم يكن الارتباط الرمزي موجودًا ، فقم بتشغيل الأمر بوويرشيل عنصر جديد لإنشاء الارتباط

ال 3 كومينتر

ألا ترى بالفعل الارتباط الرمزي بعد تشغيل nvm use ؟ هل حاولت تشغيل الأمر في غلاف قياسي بدلاً من Powershell؟

1.يرجى حذف عقدة التثبيت عن طريق برنامج إلغاء التثبيت window10

2. nvm تثبيت

3. نافذة تعديل متغيرات البيئة ( مرجع )

التفسير الصيني:
1. لتثبيت nvm على window10 ، احذف أولاً العقدة التي تم تثبيتها على الكمبيوتر نفسه ، لأن nvm لا يمكنه إدارة nvm المثبت على window10 (تم الإبلاغ عن فشل تعديل السجل)
2. بعد تثبيت nvm ، استخدم nvm نفسه لتثبيت العقدة
3. عدّل NODE_PATH إلى C: \ Program Files \ nodejs ؛ لأن nvm ينشئ اتصالاً ضعيفًا في "C: \ Program Files \ nodejs" ويتصل بـ "nvm root" (نقاط جذر nvm بالدليل الفعلي للعقدة)

coreybutler : لا أنا لا أرى الرابط الرمزي بعد تشغيل استخدام nvm.

هل حاولت تشغيل الأمر في غلاف قياسي بدلاً من Powershell؟

=> بيت القصيد هو تشغيله من بوويرشيل. في الواقع ، أقوم بتشغيل برنامج نصي يقوم بتثبيت الكثير من التبعيات وتكوين الجهاز الظاهري. هنا مجموعة فرعية من البرنامج النصي

$wc = New-Object System.Net.WebClient

# configure repositories
Set-PSRepository -Name PSGallery -InstallationPolicy Trusted

Get-Packageprovider -Name chocolatey
Set-PackageSource -Name Chocolatey -Trusted

Install-Package 7zip.install -ProviderName Chocolatey -RequiredVersion 16.02.0.20160811
$env:PATH+=";C:\Program Files\7-Zip"

$source = "https://github.com/coreybutler/nvm-windows/releases/download/1.1.3/nvm-setup.zip"
$archive = Join-Path $env:TEMP ($source.substring($source.lastindexOf('/') + 1))

$wc.DownloadFile($source, $archive)

echo "downloaded at: $archive"

7z x -aoa -y $archive "-o$env:TEMP"

#$uninstallScript = (Join-Path $PSScriptRoot uninstall_cmdline.ps1)
#&$uninstallScript -software "NVM for Windows*" | Out-Null

$nvmSetup = Join-Path $env:TEMP "nvm-setup.exe"
Start-Process $nvmSetup -ArgumentList @("/SILENT", "/SP-", "/SUPPRESSMSGBOXES") -Wait
ri $archive
ri $nvmSetup

$localNvmPath = Join-Path $env:APPDATA "nvm"
$defaultNodejsPath = "C:\Program Files\nodejs"
#Add-Path $localNvmPath
#Add-Env NVM_HOME $localNvmPath
ri $defaultNodejsPath -ErrorAction SilentlyContinue -Recurse -Force
nvm root $env:NVM_HOME
nvm install 4.5.0
nvm use 4.5.0
#create manually symlink if problem with nvm use, see https://github.com/coreybutler/nvm-windows/issues/266
#$nodePath = Join-Path $localNvmPath "v4.5.0"
#if ((-Not (Test-Path $nodePath) -or (-Not (Test-Path $defaultNodejsPath))))
#{
#    Start-Process powershell -Verb runAs -ArgumentList "-WindowStyle Hidden", "-Command `"&{ New-Item -Path `'$defaultNodejsPath`' -Value `'$nodePath`' -ItemType SymbolicLink }`"" -Wait -WindowStyle Hidden
#}

يجب أن تكون قادرًا على وضع هذا البرنامج النصي في ملف ps1 وتنفيذه كما هو. لقد علقت على وظائف Add-Env و Add-Path اللتين تضيفان على التوالي متغيرات إلى موقع env والمجلد إلى PATH. لقد علقت أيضًا على استدعاء البرنامج النصي لإلغاء التثبيت والذي يقوم بشكل أساسي بإلغاء تثبيت nvm إن وجد تم تثبيته من قبل. لقد علقت أيضًا على الحل الذي وجدته: إنشاء الارتباط الرمزي يدويًا.

@ youzaiyouzai666 : لقد ولدت جهاز 64 بت ، ولا توجد عقدة سابقة مثبتة.

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