[] Windows Server 2016
[] Minha instalação do Windows não está em inglês.
nvm use <version>
deve criar um link simbólico em C: \ Arquivos de programas \ nodejs ou no valor fornecido no argumento de caminho no arquivo settings.txt
O link simbólico nem sempre é criado, mesmo se eu executar nvm use a partir de um shell elevado.
nvm install 6.9.1
nvm use 6.9.1
Sou solicitado pelo script elevate.cmd, respondo que sim, o link simbólico não foi criado
Não sei se está relacionado, mas corro nvm use
do PowerShell.
Além disso, é meio aleatório, em algumas janelas 10 eu tenho o problema, em outras não.
Acredito que uma boa solução alternativa seria testar se o link simbólico é criado após a execução de cmd.exe mklink. Se o link simbólico não estiver presente, execute o comando powerhell new-item para criar o link
Você realmente não vê o link simbólico após executar nvm use
? Você já tentou executar o comando em um shell padrão em vez do Powershell?
Interpretação chinesa:
1. Para instalar o nvm no window10, primeiro exclua o nó que foi instalado no próprio computador, porque o nvm não pode gerenciar o nvm instalado no window10 (falha relatada para modificar o registro)
2. Depois de instalar o nvm, use o próprio nvm para instalar o nó
3. Modifique NODE_PATH para C: \ Arquivos de programas \ nodejs; porque nvm cria uma conexão suave em "C: \ Arquivos de programas \ nodejs" e se conecta a "raiz nvm" (a raiz nvm aponta para o diretório real do nó)
@coreybutler : Não, não vejo o link simbólico após executar o nvm use.
Você já tentou executar o comando em um shell padrão em vez do Powershell?
=> O objetivo é executá-lo a partir do PowerShell. Na verdade, eu executo um script que instala muitas dependências e configuro a VM. Aqui está um subconjunto do 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
#}
Você deve ser capaz de colocar este script em um arquivo ps1 e executá-lo como está. Comentei as funções Add-Env e Add-Path que, respectivamente, adicionam variáveis ao env e a localização da pasta ao PATH. Eu também comentei a chamada do script de desinstalação que basicamente desinstala o nvm se algum foi instalado antes. Também comentei a solução alternativa que encontrei: criar o link simbólico manualmente.
@ youzaiyouzai666 : Eu