ããã¯ããªã«ãããããŠæžãããã®ïŒ
以åãnpm install
ïŒnpm i
ïŒã§äœ¿ãããŒãžã§ã³ã«ã€ããŠèª¿ã¹ãŠã¿ãŸããã
npm installなどで使うバージョンがよくわからなかったので、調べてみました - CLOVER🍀
ãªã®ã§ãããnpmãããžã§ã¯ããäŸåããŠããããã±ãŒãžã衚瀺ããããããæ°ããããŒãžã§ã³ããªãªãŒã¹ãããŠãããã©ãããªã©ã¯ã©ããã£ãŠ
確èªãããããã®ããªãšæã£ãŠèª¿ã¹ãŠã¿ããšã
npm
ã³ãã³ãã§ã§ãããã ã£ãã®ã§ããŸãšããŠããããšã«ããŸãã
çµè«ãèšããšãnpm ls
ãnpm outdated
ãnpm update
ãªã©ã䜿ããšè¯ãããã§ãã
ç°å¢
ä»åã®ç°å¢ã¯ããã¡ãã
$ node --version v16.18.1 $ npm --version 8.19.2
æºå
æºåãšããŠãnpmãããžã§ã¯ããäœæããŠçŸæç¹ã§ã¯å°ãå€ãããã±ãŒãžãäŸåé¢ä¿ã«è¿œå ããŠã¿ãŸãã
$ npm init -y $ npm i express@4.17.0 $ npm i winston@3.8.0 $ npm i -D @types/node@16.18.0 $ npm i -D typescript@4.8.2
package.json
ã®äŸåé¢ä¿ã¯ããã®ããã«ãªããŸããã
"dependencies": { "express": "^4.17.0", "winston": "^3.8.0" }, "devDependencies": { "@types/node": "^16.18.0", "typescript": "^4.8.2" }
npmãããžã§ã¯ãã®äŸåé¢ä¿ã衚瀺ãã
npmãããžã§ã¯ããäŸåããŠããããã±ãŒãžã衚瀺ããã«ã¯ãnpm ls
ïŒnpm list
ïŒã䜿ããšè¯ãããã§ãã
This command will print to stdout all the versions of packages that are installed, as well as their dependencies when --all is specified, in a tree structure.
ã€ã³ã¹ããŒã«ãããŠããäŸåé¢ä¿ã衚瀺ããŠãããã³ãã³ãã®ããã§ãã
å®è¡ããŠã¿ãŸãã
$ npm ls npm-dependencies@1.0.0 /path/to/my-npm-project âââ @types/node@16.18.0 âââ express@4.17.0 âââ typescript@4.8.2 âââ winston@3.8.0
çŸåšã®ãããžã§ã¯ãã®äŸåé¢ä¿ã衚瀺ãããŸããã
ããã±ãŒãžãçŽæ¥æå®ããããšãã§ããŸãã
$ npm ls express npm-dependencies@1.0.0 /path/to/my-npm-project âââ express@4.17.0
ããã©ã«ãã ãš1éå±€ãã衚瀺ããªããããªã®ã§ãäŸåããŠããããã±ãŒãžãæšç§»çã«ä»ã®ããã±ãŒãžã«äŸåããŠããå Žåã衚瀺ãããããª
ã±ãŒã¹ã§ã¯ã--depth
ãªãã·ã§ã³ã䜿ããŸãã
2éå±€ãŸã§è¡šç€ºããŠã¿ãŸãã
$ npm ls --depth 2 npm-dependencies@1.0.0 /path/to/my-npm-project âââ @types/node@16.18.0 ââ⬠express@4.17.0 â ââ⬠accepts@1.3.8 â â âââ mime-types@2.1.35 â â âââ negotiator@0.6.3 â âââ array-flatten@1.1.1 â ââ⬠body-parser@1.19.0 â â âââ bytes@3.1.0 â â âââ content-type@1.0.4 deduped â â âââ debug@2.6.9 deduped â â âââ depd@1.1.2 deduped â â âââ http-errors@1.7.2 â â âââ iconv-lite@0.4.24 â â âââ on-finished@2.3.0 deduped â â âââ qs@6.7.0 deduped â â âââ raw-body@2.4.0 â â âââ type-is@1.6.18 deduped â ââ⬠content-disposition@0.5.3 â â âââ safe-buffer@5.1.2 deduped ãçç¥ã
ããã©ã«ãã§ã¯ã--depth
ã«1ãæå®ãããç¶æ
ã§å®è¡ããŠããããã§ãã
å
šéå±€ã衚瀺ããå Žåã¯ã--all
ãªãã·ã§ã³ã䜿ããŸãã
$ npm ls --all npm-dependencies@1.0.0 /path/to/my-npm-project âââ @types/node@16.18.0 ââ⬠express@4.17.0 â ââ⬠accepts@1.3.8 â â ââ⬠mime-types@2.1.35 â â â âââ mime-db@1.52.0 â â âââ negotiator@0.6.3 â âââ array-flatten@1.1.1 â ââ⬠body-parser@1.19.0 â â âââ bytes@3.1.0 â â âââ content-type@1.0.4 deduped â â âââ debug@2.6.9 deduped â â âââ depd@1.1.2 deduped â â ââ⬠http-errors@1.7.2 â â â âââ depd@1.1.2 deduped â â â âââ inherits@2.0.3 deduped â â â âââ setprototypeof@1.1.1 deduped â â â âââ statuses@1.5.0 deduped â â â âââ toidentifier@1.0.0 â â ââ⬠iconv-lite@0.4.24 â â â âââ safer-buffer@2.1.2 â â âââ on-finished@2.3.0 deduped â â âââ qs@6.7.0 deduped ãçç¥ã
éè€ããŠãããã®ã¯ãdeduped
ãä»ããŠããã¿ããã§ããã
æ°ããããŒãžã§ã³ã®ããã±ãŒãžããªãªãŒã¹ãããŠãããã©ãã確èªãã
çŸåšã®ãããžã§ã¯ããäŸåããŠããnpmããã±ãŒãžã®äžã«ãããæ°ããããŒãžã§ã³ã®ãã®ããªãªãŒã¹ãããŠãããã©ããã確èªããã«ã¯
npm outdated
ã䜿çšããŸãã
å®è¡ããŠã¿ãŸãã
$ npm outdated Package Current Wanted Latest Location Depended by @types/node 16.18.0 16.18.3 18.11.9 node_modules/@types/node npm-dependencies express 4.17.0 4.18.2 4.18.2 node_modules/express npm-dependencies typescript 4.8.2 4.9.3 4.9.3 node_modules/typescript npm-dependencies winston 3.8.0 3.8.2 3.8.2 node_modules/winston npm-dependencies
ãCurrentãã¯çŸåšã®ããŒãžã§ã³ã§ãããWantedãã¯ãpackage.json
ã§æå®ãããsemver
ã®ç¯å²ãæºãããã®ã§æãæ°ããããŒãžã§ã³ã
衚瀺ããŸãããLatestãã¯ããã±ãŒãžã®ææ°ã®ããŒãžã§ã³ã§ããã
ãCurrentããšãLatestããäžèŽããŠããå Žåã¯ãçµæã«è¡šç€ºãããªãããã§ãã
ä»åãæå³çã«å°ãå€ãããã±ãŒãžãã€ã³ã¹ããŒã«ããŠããŸãããã»ãšãã©ã®ãã®ã¯ãWantedããšãLatestããäžèŽããŠããŸãã
@types/node
ã®ã¿ãã¡ãžã£ãŒããŒãžã§ã³ãç°ãªãã®ã§v16ã®ç¯å²ããWantedããšãªãããLatestããšå·®ãåºãŠããŸãã
"dependencies": { "express": "^4.17.0", "winston": "^3.8.0" }, "devDependencies": { "@types/node": "^16.18.0", "typescript": "^4.8.2" }
äŸåããŠããããã±ãŒãžãæ°ããããŒãžã§ã³ã«æŽæ°ãã
npm outdated
ã§æ°ããããŒãžã§ã³ã®ããã±ãŒãžããªãªãŒã¹ãããŠããããšã確èªã§ããããã¢ããããŒããæ€èšããããã§ããã
ããã¯ãnpm update
ã§è¡ããããã§ãã
npm update
ã§ã¯ãããã±ãŒãžã®ææ°çãŸãã¯semverãæºããç¯å²ã§ããã±ãŒãžãã¢ããããŒãããŸãã
This command will update all the packages listed to the latest version (specified by the tag config), respecting the semver constraints of both your package and its dependencies (if they also require the same package).
äžè¶³ããŠããããã±ãŒãžãããå Žåã¯ãåæã«è¿œå ããŠãããããã§ãã
è©ŠããŠã¿ãŸããããnpm outdated
ã®çµæã¯ä»¥äžã§ããã
$ npm outdated Package Current Wanted Latest Location Depended by @types/node 16.18.0 16.18.3 18.11.9 node_modules/@types/node npm-dependencies express 4.17.0 4.18.2 4.18.2 node_modules/express npm-dependencies typescript 4.8.2 4.9.3 4.9.3 node_modules/typescript npm-dependencies winston 3.8.0 3.8.2 3.8.2 node_modules/winston npm-dependencies
æåã«ã©ããããã®å€æŽéãããã®ãã確èªããŠã¿ãŸããããã«ã¯--dry-run
ãªãã·ã§ã³ã䜿ããŸãã
$ npm update --dry-run added 7 packages, removed 3 packages, and changed 21 packages in 757ms 8 packages are looking for funding run `npm fund` for details
ãããŸãããããããŸãããâŠã
ã§ã¯ãæŽæ°ããŠã¿ãŸãã
$ npm update added 7 packages, removed 1 package, changed 23 packages, and audited 87 packages in 5s 8 packages are looking for funding run `npm fund` for details found 0 vulnerabilities
npm ls
ã®çµæã
$ npm ls npm-dependencies@1.0.0 /path/to/my-npm-project âââ @types/node@16.18.3 âââ express@4.18.2 âââ typescript@4.9.3 âââ winston@3.8.2
äŸåããã±ãŒãžãã¢ããããŒããããããã§ãã
npm outdated
ã確èªããŠã¿ãŸãããã衚瀺ãããã®ã@types/node
ã®ã¿ã«ãªããŸããã
$ npm outdated Package Current Wanted Latest Location Depended by @types/node 16.18.3 16.18.3 18.11.9 node_modules/@types/node npm-dependencies
ããã¯ã以äžã®èšè¿°ãªã®ã§v16ã®ç¯å²ã§ããæŽæ°ãããªãããã§ããã
"@types/node": "^16.18.0",
ã¡ãžã£ãŒããŒãžã§ã³ãå€ãããããªå Žåã¯ãªãªãŒã¹ããŒãçãããªãã«ç¢ºèªããããšããããšæãã®ã§ãsemverã®ç¯å²ãå®ãã®ã¯åŠ¥åœãª
æããããŸããã
semverã®ç¯å²ãããããã«æŽæ°ãããå Žåã¯ãnpm install
ã§åã
ã®ããã±ãŒãžãæå®ããŠã€ã³ã¹ããŒã«ããããšã«ãªããŸãã
ããã§ãææ°çã«äžæ¬ã§ã¢ããããŒããããããšããå Žåã¯ãã¡ãã䜿ãã®ã§ã¯ãªãããšæããŸãã
ãšããã§ãnpm update
ãå®è¡ããŠãpackage.json
ãå€ããããã§ã¯ãããŸããã
"dependencies": { "express": "^4.17.0", "winston": "^3.8.0" }, "devDependencies": { "@types/node": "^16.18.0", "typescript": "^4.8.2" }
package.json
ãå«ããŠæŽæ°ããå Žåã¯ã--save
ãªãã·ã§ã³ãä»äžããŸãã
$ npm update --save
ãããããšãpackage.json
ã®èšè¿°ãæŽæ°ãããããã«ãªããŸãã
"dependencies": { "express": "^4.18.2", "winston": "^3.8.2" }, "devDependencies": { "@types/node": "^16.18.3", "typescript": "^4.9.3" }
ãããªãšããã§ããããã
ãŸãšã
npmãããžã§ã¯ãã®äŸåé¢ä¿ã確èªããããæ°ããããŒãžã§ã³ã®ç¢ºèªãæŽæ°ãè¡ãnpm
ã³ãã³ãã確èªããŠã¿ãŸããã
ä»ãŸã§ãããŸãç¥ããŸããã§ãããããã£ããããããã§ãããã§ãããèŠããŠãããŸãããã