[] Windows Server 2016
[] Mi instalación de Windows no está en inglés.
nvm use <version>
debe crear un enlace simbólico en C: \ Archivos de programa \ nodejs o en el valor proporcionado en el argumento de ruta en el archivo settings.txt
El enlace simbólico no siempre se crea, incluso si ejecuto nvm use desde un shell elevado.
nvm install 6.9.1
nvm use 6.9.1
Me solicita el script elevate.cmd, respondo que sí, el enlace simbólico no se crea
No sé si está relacionado, pero ejecuto nvm use
desde powershell.
También es un poco aleatorio, en algunas ventanas 10 tengo el problema, en otras no.
Creo que una buena solución sería probar si el enlace simbólico se crea después de ejecutar cmd.exe mklink. Si el enlace simbólico no está presente, ejecute el comando de powershell new-item para crear el enlace
¿No ve realmente el enlace simbólico después de ejecutar nvm use
? ¿Ha intentado ejecutar el comando en un shell estándar en lugar de Powershell?
Interpretación china:
1. Para instalar nvm en window10, primero elimine el nodo que se ha instalado en la propia computadora, porque nvm no puede administrar el nvm instalado en window10 (se informó que no se pudo modificar el registro)
2. Después de instalar nvm, use nvm para instalar el nodo
3. Modifique NODE_PATH a C: \ Archivos de programa \ nodejs; porque nvm crea una conexión suave en "C: \ Archivos de programa \ nodejs" y se conecta a "nvm root" (la raíz de nvm apunta al directorio real del nodo)
@coreybutler : No, no veo el enlace simbólico después de ejecutar nvm use.
¿Ha intentado ejecutar el comando en un shell estándar en lugar de Powershell?
=> El objetivo es ejecutarlo desde powershell. De hecho, ejecuto un script que instala muchas dependencias y configuro la máquina virtual. Aquí hay un subconjunto del script
$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
#}
Debería poder poner este script en un archivo ps1 y ejecutarlo como está. Comenté las funciones Add-Env y Add-Path que, respectivamente, agregan variables al entorno y la ubicación de la carpeta al PATH. También comenté la llamada de script de desinstalación que básicamente desinstala nvm si se instaló antes. También comenté la solución que encontré: crear el enlace simbólico manualmente.
@ youzaiyouzai666 : Engendro una nueva máquina virtual en Windows 10 Enterprise 64bits, no hay un nodo anterior instalado.