Nvm-windows: mklink๋Š” Windows 10์—์„œ ์‹ ๋ขฐํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค

์— ๋งŒ๋“  2017๋…„ 05์›” 04์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: coreybutler/nvm-windows

๋‚ด ํ™˜๊ฒฝ

  • [ ] Windows 7 ์ดํ•˜(EOL๋กœ ์ธํ•ด ์ง€์›๋˜์ง€ ์•Š์Œ - ์ž์„ธํ•œ ๋‚ด์šฉ์€ Wiki ์ฐธ์กฐ)
  • [ ] ์œˆ๋„์šฐ 8
  • [ ] ์œˆ๋„์šฐ 8.1
  • [X] ์œˆ๋„์šฐ 10
  • [ ] ์œˆ๋„์šฐ 10 IoT ์ฝ”์–ด
  • [ ] ์œˆ๋„์šฐ ์„œ๋ฒ„ 2012
  • [ ] ์œˆ๋„์šฐ ์„œ๋ฒ„ 2012 R2
  • [ ] ์œˆ๋„์šฐ ์„œ๋ฒ„ 2016

  • [ ] ๋‚ด Windows ์„ค์น˜๊ฐ€ ์˜์–ด๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค.

๋‚˜๋Š” ์ด๋ฏธ...

  • [X] README๋ฅผ ์ฝ๊ณ  npm ๋ฌธ์ œ ๋ฐ ๋ฐ”์ด๋Ÿฌ์Šค ๋ฐฑ์‹  ๋ฌธ์ œ๋ฅผ ์ธ์ง€ํ•˜์‹ญ์‹œ์˜ค.
  • [X] ์œ„ํ‚ค ๋ฅผ ๊ฒ€ํ† ํ•˜์—ฌ ๋‚ด ๋ฌธ์ œ๊ฐ€ ์•„์ง ํ•ด๊ฒฐ๋˜์ง€ ์•Š์•˜๋Š”์ง€ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.
  • [X] ๊ด€๋ฆฌ ๊ถŒํ•œ์ด ์žˆ๋Š” ๊ณ„์ •์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Œ์„ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.
  • [X]๋Š” ๋ฌธ์ œ(๊ณต๊ฐœ ๋ฐ ์ข…๋ฃŒ)๋ฅผ ๊ฒ€์ƒ‰ํ•˜์—ฌ ์ด๊ฒƒ์ด ์ค‘๋ณต๋˜์ง€ ์•Š์•˜๋Š”์ง€ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค.
  • [X]๋Š” gitter ๊ฐ€ ์งˆ๋ฌธ๊ณผ ์˜๊ฒฌ์— ์‚ฌ์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์—

๋‚ด ๋ฌธ์ œ๋Š” ๋‹ค์Œ๊ณผ ๊ด€๋ จ์ด ์žˆ์Šต๋‹ˆ๋‹ค(ํ•ด๋‹น๋˜๋Š” ํ•ญ๋ชฉ๋งŒ ์„ ํƒ).

  • [ ] ์„ค์ •.txt
  • [ ] ํ”„๋ก์‹œ ์ง€์›
  • [ ] 32๋น„ํŠธ ๋˜๋Š” 64๋น„ํŠธ ์ง€์›

์˜ˆ์ƒ๋˜๋Š” ๋™์ž‘

nvm use <version> ๋Š” C:\Program Files\nodejs ๋˜๋Š” settings.txt ํŒŒ์ผ์˜ ๊ฒฝ๋กœ ์ธ์ˆ˜์— ์ œ๊ณต๋œ ๊ฐ’์— ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ์ƒ์„ฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค

์‹ค์ œ ํ–‰๋™

์ƒ์Šน๋œ ์…ธ์—์„œ nvm use๋ฅผ ์‹คํ–‰ํ•˜๋”๋ผ๋„ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๊ฐ€ ํ•ญ์ƒ ์ƒ์„ฑ๋˜๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค.

๋ฌธ์ œ๋ฅผ ์žฌํ˜„ํ•˜๋Š” ๋‹จ๊ณ„:

nvm install 6.9.1
nvm use 6.9.1

elevate.cmd ์Šคํฌ๋ฆฝํŠธ์—์„œ ํ”„๋กฌํ”„ํŠธ๊ฐ€ ํ‘œ์‹œ๋˜๋ฉด ์˜ˆ๋ผ๊ณ  ๋Œ€๋‹ตํ•ฉ๋‹ˆ๋‹ค. ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๊ฐ€ ์ƒ์„ฑ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ด€๋ จ์ด ์žˆ๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ์ง€๋งŒ powershell์—์„œ nvm use ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
๋˜ํ•œ ์ผ๋ถ€ Windows 10์—๋Š” ๋ฌธ์ œ๊ฐ€ ์žˆ๊ณ  ๋‹ค๋ฅธ Windows 10์—๋Š” ๋ฌธ์ œ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.
cmd.exe mklink๋ฅผ ์‹คํ–‰ํ•œ ํ›„ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๊ฐ€ ์ƒ์„ฑ๋˜๋Š”์ง€ ํ…Œ์ŠคํŠธํ•˜๋Š” ๊ฒƒ์ด ์ข‹์€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์ด๋ผ๊ณ  ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. symlink๊ฐ€ ์—†์œผ๋ฉด powershell ๋ช…๋ น new-item์„ ์‹คํ–‰ํ•˜์—ฌ ๋งํฌ๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

๋ชจ๋“  3 ๋Œ“๊ธ€

nvm use ์‹คํ–‰ ํ›„ ์‹ค์ œ๋กœ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๊ฐ€ ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๊นŒ? Powershell ๋Œ€์‹  ํ‘œ์ค€ ์…ธ์—์„œ ๋ช…๋ น์„ ์‹คํ–‰ํ•ด ๋ณด์…จ์Šต๋‹ˆ๊นŒ?

1.window10 ์–ธ์ธ์Šคํ†จ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ์„ค์น˜๋…ธ๋“œ๋ฅผ ์‚ญ์ œํ•ด์ฃผ์„ธ์š”.

2.nvm ์„ค์น˜

3.ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์ˆ˜์ • ์ฐฝ( ์ฐธ์กฐ )

์ค‘๊ตญ์–ด ํ•ด์„:
1. window10์— nvm์„ ์„ค์น˜ํ•˜๋ ค๋ฉด ๋จผ์ € ์ปดํ“จํ„ฐ ์ž์ฒด์— ์„ค์น˜๋œ ๋…ธ๋“œ๋ฅผ ์‚ญ์ œํ•˜์‹ญ์‹œ์˜ค. nvm์€ window10์— ์„ค์น˜๋œ nvm์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค(๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ์ˆ˜์ • ์‹คํŒจ ๋ณด๊ณ ๋จ).
2. nvm์„ ์„ค์น˜ํ•œ ํ›„ nvm ์ž์ฒด๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋…ธ๋“œ๋ฅผ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.
3. nvm์ด "C:\Program Files\nodejs"์— ์†Œํ”„ํŠธ ์—ฐ๊ฒฐ์„ ์ƒ์„ฑํ•˜๊ณ  "nvm root"์— ์—ฐ๊ฒฐํ•˜๊ธฐ ๋•Œ๋ฌธ์— NODE_PATH๋ฅผ C:\Program Files\nodejs๋กœ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

@coreybutler : ์•„๋‹ˆ์š” nvm ์‚ฌ์šฉ์„ ์‹คํ–‰ํ•œ ํ›„ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๊ฐ€ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Powershell ๋Œ€์‹  ํ‘œ์ค€ ์…ธ์—์„œ ๋ช…๋ น์„ ์‹คํ–‰ํ•ด ๋ณด์…จ์Šต๋‹ˆ๊นŒ?

=> ์š”์ ์€ powershell์—์„œ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ๋งŽ์€ ์ข…์†์„ฑ์„ ์„ค์น˜ํ•˜๊ณ  VM์„ ๊ตฌ์„ฑํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ์Šคํฌ๋ฆฝํŠธ์˜ ํ•˜์œ„ ์ง‘ํ•ฉ์ž…๋‹ˆ๋‹ค.

$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 ํŒŒ์ผ์— ๋„ฃ๊ณ  ๊ทธ๋Œ€๋กœ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ™˜๊ฒฝ์— ๋ณ€์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•˜๊ณ  PATH์— ํด๋” ์œ„์น˜๋ฅผ ์ถ”๊ฐ€ํ•˜๋Š” Add-Env ๋ฐ Add-Path ํ•จ์ˆ˜์— ๋Œ€ํ•ด ์„ค๋ช…ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด์ „์— ์„ค์น˜๋œ ๊ฒฝ์šฐ nvm์„ ๊ธฐ๋ณธ์ ์œผ๋กœ ์ œ๊ฑฐํ•˜๋Š” ์ œ๊ฑฐ ์Šคํฌ๋ฆฝํŠธ ํ˜ธ์ถœ์— ๋Œ€ํ•ด ์–ธ๊ธ‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋˜ํ•œ ๋‚ด๊ฐ€ ์ฐพ์€ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์–ธ๊ธ‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ˆ˜๋™์œผ๋กœ ์‹ฌ๋ณผ๋ฆญ ๋งํฌ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

@youzaiyouzai666 : Windows 10 Enterprise 64๋น„ํŠธ์—์„œ ์ƒˆ VM์„ ์ƒ์„ฑํ–ˆ๋Š”๋ฐ ์ด์ „ ๋…ธ๋“œ๊ฐ€ ์„ค์น˜๋˜์–ด ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰

๊ด€๋ จ ๋ฌธ์ œ

flpms picture flpms  ยท  4์ฝ”๋ฉ˜ํŠธ

tomByrer picture tomByrer  ยท  4์ฝ”๋ฉ˜ํŠธ

eliavmaman picture eliavmaman  ยท  6์ฝ”๋ฉ˜ํŠธ

petrovicz picture petrovicz  ยท  4์ฝ”๋ฉ˜ํŠธ

leiamac picture leiamac  ยท  4์ฝ”๋ฉ˜ํŠธ