䜿çšããããŒãžã§ã³ãæå®ãããããžã§ã¯ããèš±å¯ããŸãã
nvmã®äœ¿çšæ³ãåç
§ããŠãã ãã
ãŸãã¯ããããpackage.jsonãšã³ãžã³ããã¯ããŒãŒããã®å©çšå¯èœãªããŒãžã§ã³ã解æããŸã
ããã¯ç§ãè¡ãããã«ãŒãã§ã¯ãªããšæããŸãã äž»ãªçç±ã¯ãããŒããã€ããªãåäœæ/æš¡å£ããã«ã¯ãéåžžã«éããããã³ã°ãå¿
èŠã«ãªãããã§ãã ããšãã°ã node index.js
åŒã³åºããšããããã³ã°/åœé ãããnode.exe
ã¯ãæåã«package.json
ãã¡ã€ã«ïŒååšããå ŽåïŒã解æããŠããŒãžã§ã³ãå€å¥ããŠãããå®éã®node.exe
å®è¡ããå¿
èŠããããŸããé©åãªããŒãžã§ã³ã®
ä»ã®ããã€ãã®åæ§ã®ãããžã§ã¯ãã¯ããããéæããããã«.bat
ãã¡ã€ã«ã䜿çšããããšããŸããã ãã®ã¢ãããŒãã¯è匱ã§ãããã¢ãŒããã¯ãã£ã®äž»ãªç®çã«åããŸãã
ãŸããããã«å¯ŸããéèŠãåºãŸã£ãŠãããšã¯æããŸããã
.nvmrcã®ãµããŒãã¯ãCIã·ã¹ãã ã§NVMã䜿çšããäžã§éåžžã«éèŠãªåŽé¢ã§ãã ç¹ã«nvmãšã®äºææ§ã倱ããããããpackage.jsonã®ææ¡ããªã³ã¯ããŸãããã.nvmrcããµããŒããããã«ãªã¯ãšã¹ãã¯åãå ¥ããããŸããïŒ
@ gruber76-ç§ã¯ããããããã«é¢ããPRãåãå ¥ããŸããã
.nvmrc
ã package.json
...ã©ã¡ããåãåä»ãªããã¯ãå¿
èŠã§ãã
@coreybutlerããããµããŒãããããªããšããããªãã®è«ççæ ¹æ ãç解ã§ããŸããã ãã®æ©èœã䜿çšãããšãããŒãžã§ã³çªå·ãæå®ããã«nvmãåŒã³åºããããã³ã«ã.nvmrcãã¡ã€ã«ã調ã¹ãããšã«ãã©ãŒã«ããã¯ããã ãã§ã¯ãªãã§ããããã ãããã£ãŠãããªãã¯ã©ã®ãããªåä»ãªããã¯ã«ã€ããŠè©±ããŠããã®ã§ããïŒ
åä»ãªããã¯ïŒ Windowsçšã®ã·ã³ããªãã¯ãªã³ã¯ãæžãçŽããŸãã
NVM for Windowsã¯ãã·ã³ããªãã¯ãªã³ã¯ã¿ãŒã²ãããç®çã®ç©çããŒãã€ã³ã¹ããŒã«ãã£ã¬ã¯ããªã«å€æŽããããšã§æ©èœããŸãã ããã¯ã·ã¹ãã å šäœã®å€æŽã§ãã
.nvmrc
ãã¡ã€ã«ã§ããŒãžã§ã³0.12.0ãæå®ããŠã¹ã¯ãªãããèµ·åãã次ã«.nvmrc
ãªãã§2çªç®ã®ã¹ã¯ãªãããèµ·åãããšããŸãã ã·ã³ããªãã¯ãªã³ã¯ã¯ïŒæåã®ã€ã³ã¹ã¿ã³ã¹åããïŒv0.12.0ãæããŸãã 2çªç®ã®ã¹ã¯ãªããã.nvmrc
ãªãä»ã®ãã®ïŒv4.2.6ãªã©ïŒãå¿
èŠãšããå Žåã倱æããŸãã ããã«ãããçã®ããã»ã¹åé¢ããªããããã·ã³ããªãã¯ãªã³ã¯ã䜿çšãããšãã«ç°å¢ãäžå®å®ã«ãªããŸãã
ããã»ã¹ããšã«ããŒãžã§ã³ãçã«åé¢ããå¯äžã®æ¹æ³ã¯ããªãã¬ãŒãã£ã³ã°ã·ã¹ãã ã«èš±å¯ããã®ã§ã¯ãªããã¹ã¯ãªãããèŠæ±ããŠããããŒãžã§ã³ã«nvm.exe
ãªãã€ã¬ã¯ããããããšã§ãã ãªãã¬ãŒãã£ã³ã°ã·ã¹ãã ããã§ã«è¡ã£ãŠããããšãåçŸããããããŸããã
人ã ãæ¬åœã«ããã»ã¹/ãããžã§ã¯ãããšã®ã¢ãããŒãã䜿çšãããå Žåãããé©åãªè§£æ±ºçã¯ã©ã³ã¿ã€ã ç°å¢ãåé¢ããããšã§ãã å人çã«ã¯ãDockerã䜿çšããŠããŸãã
ããã§ç§ã®ç¡ç¥ãèš±ããŠãã ããã ç§ã®äž»ãªãŠãŒã¹ã±ãŒã¹ã¯ãè€æ°ã®ããŒã ã§bower / grunt / gulpãªã©ã䜿çšããŠããŒã/ Webã¢ããªã±ãŒã·ã§ã³ãéçºããããšã§ãã ç§ã«ãšã£ãŠã5å以å ã«è€æ°ã®ããŒãžã§ã³ãå®è¡ããããšã¯éåžžã«ãŸãã§ãã ãã®ãŠãŒã¹ã±ãŒã¹ã®å Žåã.nvmrcãã¡ã€ã«ã¯ãç§ã®ããŒã ãã©ã®ããŒããå®è¡ããããæå®ããæ¹æ³ã§ãã
ããªãã説æããç¶æ³ïŒã¹ã¯ãªããAãšã¹ã¯ãªããBïŒã§ãã¹ã¯ãªããAïŒãŸãã¯ã¹ã¯ãªããAã®ãŠãŒã¶ãŒïŒãããŒãžã§ã³ãèšå®ããããã«nvmãåŒã³åºããŠããèšå®ãå¿ãããããã.nvmrcã®ãµããŒããããã«é¢åã§ããããç解ããã®ã«èŠåŽããŠããŸããã¹ã¯ãªããBãå®è¡ããåã«ãããå®è¡ããŸããããããç§ãããã¯ããã«é£ããã³ã¢ã§ããnvmã®äžè¬çãªäœ¿çšäŸãããã€ããããšæããŸãã ããšãã°ãCIãµãŒããŒã®è² è·ãé«ãå Žåãªã©ã§ãã
ç§ã¯ãããå¿ èŠãšããä»ã®äººã«æäŸããããã®ããããŒåé¿çãæã£ãŠããŸãã å®è¡åã®batã¹ã¯ãªããã§ã¯æ¬¡ã®ããã«ãªããŸãã
set /p nodev=<.nvmrc
nvm install %nodev%
nvm use %nodev%
nvmã³ãã³ããå ¥ããŠnpmã¹ã¯ãªããã«å¿ èŠãªããŒãžã§ã³ãèšå®ããŠã¿ãŸãããïŒ
ã¹ãã£ãŒãã»ãªãŒ
ã¢ãã€ã«ããã€ã¹ããéä¿¡ãããŸããå
¥åãã¹ããèš±ããã ãã
2016幎3æ3æ¥16:50ããgruber76ã [email protected]ã¯æ¬¡ã®ããã«æžããŠããŸãã
ããã§ç§ã®ç¡ç¥ãèš±ããŠãã ããã ç§ã®äž»ãªãŠãŒã¹ã±ãŒã¹ã¯éçºã§ã
è€æ°ã®ããŒã ã§bower / grunt / gulpãªã©ã䜿çšããããŒã/ Webã¢ããªã±ãŒã·ã§ã³ã ã«ãšã£ãŠ
ç§ãè€æ°ã®ããŒãžã§ã³ãå®è¡ãããããšã¯éåžžã«ãŸãã§ã
ãäºãã®5åã ãã®ãŠãŒã¹ã±ãŒã¹ã§ã¯ã.nvmrcãã¡ã€ã«ãç§ã®
ããŒã ã¯ãããŒããå®è¡ããå¿ èŠãããããšãæå®ããŸããããªãã説æããç¶æ³ã§ç§ã¯èŠã¥ããã§ãïŒã¹ã¯ãªããA察
ã¹ã¯ãªããBïŒ.nvmrcããµããŒãããããšã¯ã
ã¹ã¯ãªããAïŒãŸãã¯ã¹ã¯ãªããAã®ãŠãŒã¶ãŒïŒãnvmãåŒã³åºããŠããŒãžã§ã³ãèšå®ããŠããã
ã¹ã¯ãªããBãå®è¡ããåã«èšå®ããã®ãå¿ããŠããŸãã
ç§ãããã¯ããã«é£ããã³ã¢ã§ããnvmã®ããã€ãã®äžè¬çãªãŠãŒã¹ã±ãŒã¹ã
ããšãã°ãCIãµãŒããŒã®è² è·ãé«ãå Žåãªã©ã§ããç§ã¯ãããå¿ èŠãšããä»ã®äººã«æäŸããããã®ããããŒåé¿çãæã£ãŠããŸãã NS
å®è¡åã®batã¹ã¯ãªããã§æ¬¡ã®ããã«ãªããŸãã/ p nodev = <ãnvmrcãèšå®ããŸã
nvmã€ã³ã¹ããŒã«ïŒ nodevïŒ
nvmã¯ïŒ nodevïŒ ã䜿çšããŸãâ
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/coreybutler/nvm-windows/issues/128#issuecomment -191852401
ã
.nvmrc
ãã¡ã€ã«ããµããŒãããããšã¯æ¬åœã«åœ¹ã«ç«ã¡ãŸãã å€ãã®ãããžã§ã¯ãããããããããã¹ãŠãåãããŒãžã§ã³ã®ããŒããå®è¡ããŠããããã§ã¯ãããŸããã .nvmrc
ãã¡ã€ã«ã¯åãªããžããªã®ã«ãŒãã«ãããç¹å®ã®ãããžã§ã¯ãã§æ£ããããŒãžã§ã³ã®ããŒãã䜿çšãããŠããããšã確èªããŸãã
ã¡ãªã¿ã«ã nvm install
åŸã«nvm use
ãç¶ãå¿
èŠãããã®ãã¡ãã£ãšé¢åã§ãã ã€ã³ã¹ããŒã«åŸã«2çªç®ã®ã¹ããããå¿
èŠã«ãªãçç±ãç¥ãããã§ãã ã€ã³ã¹ããŒã«ãšäœ¿çšã®éãã¯ããããŸããã誰ããããŠã³ããŒãããŠã€ã³ã¹ããŒã«ããŠã䜿çšããªããšãããŠãŒã¹ã±ãŒã¹ã¯ããã®ã§ããããã
ããã«å¯Ÿããåé¿çã¯ãåãããžã§ã¯ãã®ã«ãŒãã«ããinstall-node.js
ãšããååã®ãã¡ã€ã«ãããããšã§ãã ãããžã§ã¯ãã«åãæ¿ãããšãã¯ãã€ã§ããã³ãã³ãã©ã€ã³ããnode install-node
ãå®è¡ããŸãã install-node.jsãã¡ã€ã«ã®å
容ã¯æ¬¡ã®ãšããã§ãã
var childProcess = require('child_process')
var fs = require('fs')
var nodeVersion = fs.readFileSync('.nvmrc', 'utf8').trim()
var command = "nvm install " + nodeVersion + " && nvm use " + nodeVersion
console.log('executing command: ' + command)
childProcess.exec(command, function(error, stdout, stderr) {
if (stdout) console.log(stdout.toString())
if (stderr) console.error(stderr.toString())
if (error) console.error(error)
})
@ josh-egan-ps- install
ãšuse
ã®åé¢ã¯ãäž»ã«å€§èŠæš¡ãªç°å¢æ§æã®ããnvm install -u 5.9.1
ãããªãã©ã°ãã€ã³ã¹ããŒã«ããŠèªåçã«äœ¿çšããããããŒãžã§ã³ãèªåçã«äœ¿çšããŠãã©ã°ã䜿çšããªãããšã¯å®å
šã«åççãšæãããŸãã ç§ã¯ééããªããããè¿œå ããããšãæ€èšããŸãã
ãã¹ãŠã®äººã®ããã«-ãããžã§ã¯ãããšã«åãæ¿ããå¿
èŠãããå Žåã¯ãpackage.jsonã®npm startã¹ã¯ãªããã»ã¯ã·ã§ã³ã«nvm use x.x.x && node index.js
ãé
眮ããããšãæ€èšããŠãã ããã äžè¬çãªãã¹ããã©ã¯ãã£ã¹ã¯ãåžžã«npm start
ã䜿çšããŠããŒãã¢ããªãèµ·åããããšã§ãã
ãã¹ãŠã®äººã®ããã«-ãããžã§ã¯ãããšã«åãæ¿ããå¿ èŠãããå Žåã¯ãpackage.jsonã®npmstartã¹ã¯ãªããã»ã¯ã·ã§ã³ã«nvmuse xxx && nodeindex.jsãé 眮ããããšãæ€èšããŠãã ããã äžè¬çãªãã¹ããã©ã¯ãã£ã¹ã¯ãåžžã«npmstartã䜿çšããŠããŒãã¢ããªãèµ·åããããšã§ãã
ããŒã/ npmã®ããŒãžã§ã³ã«äŸåããã€ã³ã¹ããŒã«äžã«äœ¿çšãããnpm_build_ã¹ã¯ãªããã®å Žåãå®éã«ã¯æé ãã«ãªãå¯èœæ§ããããŸãã ãŸãã¯ãgruntãªã©ã®ä»ã®ããŒã«ãããã«å®è¡ãããŸããééã£ãããŒãžã§ã³ã®node / npmã䜿çšãããšãã€ã³ã¹ããŒã«äžã«å€±æããå¯èœæ§ããããŸãã ãŸãã¯ãééã£ãããŒãžã§ã³ã䜿çšãããšä»ã®åé¡ãçºçããŸãããšããã§ã_everything_ãããŒã«ã«ã«ã€ã³ã¹ããŒã«ããïŒã€ãŸãã-gã§ã¯ãªãïŒä»ã®ãã¹ããã©ã¯ãã£ã¹ãæ³å®ããŠãããããããŒãžã§ã³ã®äŸåé¢ä¿ãåé¡ã«ãªãããšã¯ãããŸããã
ãããã£ãŠã npm install
ã䜿çšããŠãã¹ãŠãã»ããã¢ããããããšããå§ãããŸãã 次ã«ãnvmuseã䜿çšããããã®ãã¬ã€ã³ã¹ããŒã«ã¹ããããè¿œå ã§ããŸãã äŸïŒè¿œå
"preinstall": "nvm use x.x.x",
å ã®npmããŒãžã§ã³ã芪ããã»ã¹ã§å®è¡ãããŠããå Žåã§ããããã§åé¡ãããŸããã ã€ã³ã¹ããŒã«ã¹ãããã§æ°ããã·ã§ã«ãèµ·åããããããã¹ãŠã®ã¢ã¯ã·ã§ã³ã§æ°ããããŒããšnpmãååŸãããŸãã
ã€ã³ã¹ããŒã«ãããäºåéå§ã¹ããããè¿œå ããããšãã§ããŸãã
@ SteveALee-ãããããã§ããç§ã®ä»¥åã®ææ¡ã¯ããŸã
@coreybutlerçµå±ç§ã¯ããã«è¡ããŸãã
"preinstall":"nvm use 4.4.1 || echo nvm not found: check node version && pause",
ããããnvm use -i x.x.x
ãªãã·ã§ã³ãè¯ãã§ããããïŒ ã€ãŸãããŸã ã€ã³ã¹ããŒã«ãããŠããªãå Žåã¯ã€ã³ã¹ããŒã«ããŸããïŒ
ç§ã¯å°ãªããšãããã®äžéšãå®è£ ããããšãææ¡ããããšæããŸãïŒ
Linux / Macã§ã¯ã .nvmrc
ãã¡ã€ã«ãååšãããã©ã«ããŒã§ãå
·äœçãªããŒãžã§ã³ãæå®ããã«nvm use
ãå®è¡ã§ãã .nvmrc
å
容ã«äžèŽããã€ã³ã¹ããŒã«æžã¿ããŒãžã§ã³ãååŸãããŸããæå¹åã ãã¡ã€ã«ã«8
ãšèšèŒãããŠããå Žåã¯ãææ°ã®ã€ã³ã¹ããŒã«æžã¿ããŒãžã§ã³ã®ããŒã8ãã€ã³ã¹ããŒã«ãããŸãã
ç§ã®ã·ã¹ãã ã§ãããcd
ããªãŒããŒããŒãããã¹ã¯ãªãããšçµã¿åãããŠããã£ã¬ã¯ããªã«cd
å
¥ããé©åãªããŒãžã§ã³ã®ããŒããã¢ã¯ãã£ãåã§ããããã«ããŸãããã®ã¹ã¯ãªããã¯.bashrc
ãŸãã
# Support .nvmrc
load-nvmrc() {
if [[ -f .nvmrc && -r .nvmrc ]]; then
nvm use
elif [[ $(nvm version) != $(nvm version default) ]]; then
echo "Reverting to nvm default version"
nvm use default
fi
}
# Override `cd` to auto-load correct version of Node on enterting directory.
cd() { builtin cd "$@"; 'load-nvmrc'; }
nvm
ããããã®ãã¡ã€ã«ãå°éããŠããã°ãããã¯Windowsã§ãç°¡åã«æ©èœããŸãã
.nvmrcã¯ããã©ã«ãã§ã¯å®è£
ãããŸããã ããã; ããŒããããã«ã¯ããã¯ãµããŒãã®èšç»ããããŸãïŒhttps://github.com/coreybutler/nvm-windows/issues/190ïŒã pre-use
ã¹ã¯ãªããã䜿çšããŠãå¿
èŠãªãã¡ã€ã«ïŒpackage.jsonã.nvmrcããŸãã¯ãã®ä»ã®éžæãããã®ãå«ãïŒã«å¿ããŠããŒãžã§ã³ã調æŽã§ããŸãã
ãã®åé¡ã¯ã»ãŒè§£æ¶ãããŠããããã«æãããããã.nvmrcãã¡ã€ã«ã«1æ¡ã®ããŒãããŒãžã§ã³ãå«ãŸããŠããå Žåã«ããnvmuseãããã³ãnvminstallãã®æ©èœãæš¡å£ããåé¿çã®Powershellã¹ã¯ãªããããããŸãã
nvm install (Get-Content .nvmrc)
ã¯æ£åžžã«æ©èœããŸããã nvm use (Get-Content .nvmrc)
ã¯æ©èœããŸããïŒ1æ¡ã®ããŒãžã§ã³ãã€ã³ã¹ããŒã«ã«æž¡ããããšããã®ããŒãããŒãžã§ã³ã®ææ°ãªããžã§ã³ãã€ã³ã¹ããŒã«ãããŸããã nvm use
ã¯1æ¡ã®æ°åã¯ãææ°ã®ãã®ãååŸãã代ããã«ãããã«ã.0.0ããè¿œå ããŸãã
@coreybutler nvm.goã®ãuseãã³ãã³ããæŽæ°ããŠinstall
ãšåãã³ãŒãã䜿çšãããšããã®ä¿®æ£ã¯äžèŠã«ãªããŸãïŒã€ãŸãïŒã
if len(version) == 1 {
version = findLatestSubVersion(version)
} else {
version = cleanVersion(version)
}
次ã®ã¹ã¯ãªããã¯ãnvmlistavailableãã䜿çšãã.nvmrcãã¡ã€ã«ã®ããŒãžã§ã³ãšäžèŽããæãé«ãLTSããŒãžã§ã³ã®ãªã¹ãããã£ã«ã¿ãªã³ã°ããŠããããnvmuseãããŸãã ã€ã³ã¹ããŒã«ãããŠããªãå Žåã¯ã 'nvm install's it then' nvm use'itã
((nvm use (nvm list available | Where-Object -FilterScript { $_ -like ('* ' + (Get-Content .nvmrc)) + '.*'})[0].split('|')[2].trim()) -like '*not installed*') -and (nvm install (nvm list available | Where-Object -FilterScript { $_ -like ('* ' + (Get-Content .nvmrc) + '.*') })[0].split('|')[2]) -and (nvm use (nvm list available | Where-Object -FilterScript { $_ -like ('* ' + (Get-Content .nvmrc) + '.*') })[0].split('|')[2].trim())
.nvmrcãã¡ã€ã«ããèªã¿åãããã®nvm䜿çšã®ãµããŒããèŠæ±ãããã ãã§ãã ããã«ãããMacãšWindowséã®ããŒãéçºãšã¯ã¹ããªãšã³ã¹ãã·ãŒã ã¬ã¹ã«ãªããŸãã
ä¿®æ£ãããããããŸãã¯å€æŽãããªããããããã¯éããããŸããïŒ
* nixããŒãžã§ã³ãšåãAPIã䜿çšããå¥ã®WindowsäºæããŒãžã§ã³ã®nvm
ãããŸããïŒ
æãåèã«ãªãã³ã¡ã³ã
.nvmrcã®ãµããŒãã¯ãCIã·ã¹ãã ã§NVMã䜿çšããäžã§éåžžã«éèŠãªåŽé¢ã§ãã ç¹ã«nvmãšã®äºææ§ã倱ããããããpackage.jsonã®ææ¡ããªã³ã¯ããŸãããã.nvmrcããµããŒããããã«ãªã¯ãšã¹ãã¯åãå ¥ããããŸããïŒ