ããã±ãŒãžãããŒãžã£ãŒã®ä»çµã¿ â 远å ããéå ·ã¯ã©ãã«èšé²ãããïŒ
æå®ã»èšé²ã»éå ·ããèŠæ¯ã¹ã
ãŸãã¯ãå°ããªéå ·ã1ã€äœ¿ã£ãŠã¿ã
ããã±ãŒãžãããŒãžã£ãŒã¯ãã©ã€ãã©ãªçã®è¿œå ãäŸåã®è§£æ±ºãå©ããéå ·ã§ããNode.jsãšnpmã䜿ãããªããæ¢åãããžã§ã¯ããšã¯å¥ã®æ°ããç·Žç¿çšãã©ã«ããŒãäœãããã®äžã§æ¬¡ãå®è¡ããŠã¿ãŸããããå ¬éã¬ãžã¹ããªãžã®éä¿¡ãå¿ èŠã§ãã
npm init -y
npm install --save-exact picocolors@1.1.1 --ignore-scripts
次ãdemo.cjsãžä¿åããnode demo.cjsã§å®è¡ããŸãã
const pc = require("picocolors");
console.log(pc.green("éå
·ã䜿ããŸãã"));
ãéå ·ã䜿ããŸããããšè¡šç€ºãããŸããè²ãžã®å¯Ÿå¿ç¶æ³ã«ãã£ãŠç·ã«ãªããã¯å€ãããŸããããã§äœ¿ãçãæç€ºããŠããã®ã§ãææ°çãéžã¶æäœãšã¯å¥ã§ãã
3ã€ã®å ŽæãèŠæ¯ã¹ã
| å Žæ | ãã®ç·Žç¿ã§ã®åœ¹å² |
|---|---|
| package.json | picocolors 1.1.1ãäŸåãšããŠæå®ãã |
| package-lock.json | 解決ããäŸåã®çãååŸã»æŽåæ å ±çãèšé²ãã |
| node_modules | å®è¡æã«äœ¿ãããã±ãŒãžã®ãã¡ã€ã«ãé 眮ãã |
欲ããçã®æ¡ä»¶ãšã解決ããèšé²ã¯å¥ã§ããäŸåãããã«å¥ã®äŸåãå¿ èŠãšãããšã鿥çã«äœ¿ãããã±ãŒãžãå¢ããŸããnode_modulesã®é 眮æ¹åŒã¯npmã»pnpmã»Yarnçã§éããçŽæ¥æå®ããŠããªãããã±ãŒãžãå¶ç¶äœ¿ããããšãžäŸåããªãããã«ããŸãã
çã®ç¯å²ã¯ãéå ·ããšã®èŠåã§èªã
npmã®semverã§ãéåžžã®å®å®çã®äŸãèªããšæ¬¡ã®ããã«ãªããŸãããã¬ãªãªãŒã¹ã«ã¯å¥ã®æ¡ä»¶ããããŸãã
| æå® | ãã®æå®ãå«ãç¯å²ã®äŸ |
|---|---|
| 1.2.3 | ãã®ç |
| ^1.2.3 | 1.2.3以äžã2.0.0æªæº |
| ^0.2.3 | 0.2.3以äžã0.3.0æªæº |
| ~1.2.3 | 1.2.3以äžã1.3.0æªæº |
ãã¹ãŠã®ããã±ãŒãžãsemverãæ£ããå®ããšããä¿èšŒã§ããpipãaptã§åãèšå·ã䜿ããšããæå³ã§ããããŸãããPythonã®pipãšPipenvçã®å¥ã®éå ·ãåºå¥ããŸãã
ããå°ã詳ããïŒåçŸæ§ãšååŸå ã®ç¢ºèª
npm ciã¯ããã¯ãå¿ èŠã§ãpackage.jsonãšåããªããã°æŽæ°ãã倱æããŸããæ¢åã®node_modulesã¯å ã«åãé€ãããŸããããã¯äœææã«äŸåã®åœ¢ãžåœ±é¿ããèšå®ã䜿ã£ãå ŽåãciåŽã«ãåãèšå®ãå¿ èŠã§ãã
ããã¯ã¯äŸåãããããå©ãã§ããããã®ååŸå ãå 容ãŸã§å®å šã ãšå€å®ãããã®ã§ã¯ãããŸãããããã¯ã ããå€ããPRã§ããçã»URLã»è¿œå ãããäŸåã»ã¹ã¯ãªãããªã©ã確èªããŸããnpm auditçã®çµæã«å ããŠãæªç¥ã®æªæãåºæãæ€èšããŸãã
ç·Žç¿ã®âignore-scriptsã¯ã€ã³ã¹ããŒã«æã®ã¹ã¯ãªãããæããæå®ã§ããå¿ èŠãªãã«ããè¡ãäŸåããããããæ¢åãããžã§ã¯ãã§äžåŸã«æ¿ãããäœãå¿ èŠã確èªããŸããnpm runçã§æç€ºããã¹ã¯ãªããã®å®è¡ã¯å¥ã§ããpnpmã®ã¹ã¯ãªããå¶åŸ¡ãå©çšããçã®èŠåãèªã¿ãŸãã
ð§ ãã³ã®ã³å çã®ãŸãšãïŒãããã±ãŒãžãããŒãžã£ãŒãã£ãŠåºãŠããããå¿ èŠãªéå ·ãšããã®éå ·ã®äŸåãããããä¿ããšæãã°ã ãããOKïŒ
ãããžã§ã¯ãã®éžæã¯npmã»Yarnã»pnpmã®æ¯èŒãPythonã®éå ·ã¯uvãšpipã®æ¯èŒã§ç¶ããŠèŠãŠã¿ãŸãããã
åèè³æ
- npmïŒnpm install â æå®ãšããã¯ã®æŽåã»ååŸå ã»äŸåé 眮
- npmïŒnpm ci â ããã¯ã»äžäžèŽã»node_modulesåäœæã»ã¹ã¯ãªãã
- npmïŒnode-semver â caret/tildeãš0.xã»ãã¬ãªãªãŒã¹ã®æ¡ä»¶
- picocolorsïŒREADME â è²ä»ãã®APIãšè²ã®å¯Ÿå¿æ¡ä»¶