[ ] Windows Server 2016
[ ] 我的 Windows 安装是非英语的。
nvm use <version>
应该在C:\Program Files\nodejs或文件 settings.txt 中路径参数中提供的值处创建符号链接
符号链接并不总是被创建,即使我从提升的 shell 运行 nvm use。
nvm install 6.9.1
nvm use 6.9.1
elevate.cmd 脚本提示我,我回答是,符号链接未创建
我不知道它是否相关,但我从 powershell 运行nvm use
。
也有点随机,在某些 Windows 10 上我有问题,而在其他人我没有。
我相信一个好的解决方法是测试在运行 cmd.exe mklink 后是否创建了符号链接。 如果符号链接不存在,请运行 powershell 命令 new-item 创建链接
运行nvm use
后您实际上没有看到符号链接吗? 您是否尝试过在标准 shell 而不是 Powershell 中运行命令?
Chinese interpretation:
1.window10 装nvm要先删掉电脑本身已经装的node,因nvm无法管理window10 已经装的nvm(报修改注册表失败)
2.装完nvm后使用nvm本身装 node
3.修改 NODE_PATH,为C:\Program Files\nodejs;因nvm在“C:\Program Files\nodejs”创建一个软连接,连接到“nvm root”(nvm root指向node实际目录)
@coreybutler :不,我在运行 nvm use 后没有看到符号链接。
您是否尝试过在标准 shell 而不是 Powershell 中运行命令?
=> 重点是从 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 :我在 Windows 10 Enterprise 64 位上生成了一个新的 VM,没有安装以前的节点。