npm (Node Package Manager)
Node.js μ ν리μΌμ΄μ
μ μν ν¨ν€μ§ κ΄λ¦¬μ
Node.jsλ₯Ό μ€μΉνλ©΄ ν¨κ» μ 곡λλ©°, λ€μν ν¨ν€μ§λ₯Ό μ€μΉνκ³ κ΄λ¦¬ν μ μμ΅λλ€. npmμ Node.js μνκ³μμ μ½λλ₯Ό 곡μ νκ³ μ¬μ¬μ©νκΈ° μν ν΅μ¬ λꡬ μ€ νλλ‘, κ°λ°μκ° νλ‘μ νΈμ νμν μΈλΆ λͺ¨λμ μμ½κ² μΆκ°νκ³ κ΄λ¦¬ν μ μλλ‘ λμμ€λλ€.
npm 곡μ μ¬μ΄νΈ
μ£Όμ κΈ°λ₯
1.
ν¨ν€μ§ μ€μΉ:
β’
npm install <ν¨ν€μ§λͺ
> λͺ
λ Ήμ΄λ₯Ό μ¬μ©νμ¬ νλ‘μ νΈμ νμν ν¨ν€μ§λ₯Ό μ€μΉν©λλ€.
2.
μμ‘΄μ± κ΄λ¦¬:
β’
package.json νμΌμ νλ‘μ νΈ μμ‘΄μ±μ κΈ°λ‘νκ³ , μ΄λ₯Ό ν΅ν΄ νλ‘μ νΈμ μμ‘΄ λͺ¨λμ μ½κ² κ΄λ¦¬ν μ μμ΅λλ€.
3.
μ€ν¬λ¦½νΈ μ€ν:
β’
package.json νμΌμμ μ μλ μ€ν¬λ¦½νΈλ₯Ό μ€ννμ¬ ν
μ€νΈ, λΉλ, μμ λ±μ μμ
μ μνν μ μμ΅λλ€.
4.
λ²μ κ΄λ¦¬:
β’
ν¨ν€μ§μ λ²μ μ κ΄λ¦¬νκ³ , ^, ~, > λ±μ κΈ°νΈλ₯Ό μ¬μ©νμ¬ μνλ λ²μ μ λͺ
μν μ μμ΅λλ€.
5.
λͺ¨λ 곡μ :
β’
ν¨ν€μ§λ₯Ό npm 곡μ μ μ₯μ λλ μ¬μ©μ μ μ μ μ₯μμ μ
λ‘λνκ³ , λ€λ₯Έ μ¬μ©μκ° ν΄λΉ ν¨ν€μ§λ₯Ό μ¬μ©ν μ μμ΅λλ€.
μ£Όμ λͺ λ Ήμ΄
λͺ
λ Ήμ΄ | μ€λͺ
|
npm install <ν¨ν€μ§> | ν¨ν€μ§λ₯Ό μ€μΉν©λλ€. |
npm install -g <ν¨ν€μ§> | κΈλ‘λ²νκ² ν¨ν€μ§λ₯Ό μ€μΉν©λλ€. |
npm install --save <ν¨ν€μ§> | ν¨ν€μ§λ₯Ό μ€μΉνκ³ dependenciesμ μΆκ°ν©λλ€. |
npm install --save-dev <ν¨ν€μ§> | ν¨ν€μ§λ₯Ό μ€μΉνκ³ devDependenciesμ μΆκ°ν©λλ€. |
npm uninstall <ν¨ν€μ§> | ν¨ν€μ§λ₯Ό μ κ±°ν©λλ€. |
npm update <ν¨ν€μ§> | ν¨ν€μ§λ₯Ό μ΅μ λ²μ μΌλ‘ μ
λ°μ΄νΈν©λλ€. |
npm ls | νλ‘μ νΈμ ν¨ν€μ§ μ’
μμ±μ λμ΄ν©λλ€. |
npm init | μλ‘μ΄ package.json νμΌμ μμ±ν©λλ€. |
npm run <μ€ν¬λ¦½νΈ> | package.json νμΌμ μ μλ μ€ν¬λ¦½νΈλ₯Ό μ€νν©λλ€. |
npm search <ν¨ν€μ§> | ν¨ν€μ§λ₯Ό κ²μν©λλ€. |
npm info <ν¨ν€μ§> | ν¨ν€μ§μ λν μμΈ μ 보λ₯Ό νμν©λλ€. |
npm outdated | νλ‘μ νΈμ ν¨ν€μ§κ° μ΅μ μΈμ§ νμΈν©λλ€. |
npm audit | νλ‘μ νΈμ λν 보μ μ·¨μ½μ±μ κ²μ¬ν©λλ€. |
npm publish | ν¨ν€μ§λ₯Ό npm λ μ§μ€νΈλ¦¬μ κ²μν©λλ€. |
npm version <λ²μ > | ν¨ν€μ§μ λ²μ μ μ
λ°μ΄νΈνκ³ package.json νμΌμ μ
λ°μ΄νΈν©λλ€. |
npm login | npm λ μ§μ€νΈλ¦¬μ λ‘κ·ΈμΈν©λλ€. |
npm whoami | νμ¬ λ‘κ·ΈμΈλ μ¬μ©μλ₯Ό νμν©λλ€. |
npm logout | npm λ μ§μ€νΈλ¦¬μμ λ‘κ·Έμμν©λλ€. |
package.json
ν¨ν€μ§μ λ²μ μ κ΄λ¦¬νλ νμΌ
λ
Έλ νλ‘μ νΈλ₯Ό νκΈ° μν νμμ μΈ νμΌ
package.json νμΌμ μμ±νκΈ° μν λͺ λ Ή
npm init
JavaScript
볡μ¬
{
"name": "my-node-app",
"version": "1.0.0",
"description": "A simple Node.js application",
"main": "index.js",
"scripts": {
"start": "node index.js",
"test": "mocha tests"
},
"dependencies": {
"express": "^4.17.1",
"body-parser": "^1.19.0"
},
"devDependencies": {
"mocha": "^8.4.0",
"chai": "^4.2.0"
},
"keywords": ["node", "express", "example"],
"author": "Your Name",
"license": "MIT",
"repository": {
"type": "git",
"url": "https://github.com/yourusername/my-node-app.git"
},
"engines": {
"node": ">=10.0.0",
"npm": ">=6.0.0"
},
"config": {
"port": 3000
}
}
JSON
볡μ¬
μμ± | μ€λͺ
|
name | ν¨ν€μ§μ μ΄λ¦. μ€λ³΅λμ§ μλλ‘ κ³ μ ν΄μΌ ν¨. |
version | ν¨ν€μ§μ λ²μ . Semantic Versioning(SemVer) νμμ λ°λ¦. |
description | ν¨ν€μ§μ λν κ°λ¨ν μ€λͺ
. |
main | λͺ¨λμ μ§μ
μ νμΌ. CommonJS λͺ¨λ κ·κ²©μ λ°λΌμΌ ν¨. |
scripts | μ¬μ©μ μ μ μ€ν¬λ¦½νΈ. ν
μ€νΈ, λΉλ λ±μ μμ
μ μ μν μ μμ. |
dependencies | νλ‘λμ
νκ²½μμ νμν ν¨ν€μ§ λͺ©λ‘. |
devDependencies | κ°λ° νκ²½μμ νμν ν¨ν€μ§ λͺ©λ‘. |
keywords | ν¨ν€μ§λ₯Ό κ²μν λ μ¬μ©λ ν€μλ λͺ©λ‘. |
author | ν¨ν€μ§μ μμ±μ. μ΄λ¦ λΏλ§ μλλΌ μ΄λ©μΌ, ννμ΄μ§ λ±μ ν¬ν¨ν μ μμ. |
license | ν¨ν€μ§μ λΌμ΄μ μ€ μ 보. |
repository | μμ€ μ½λ μ μ₯μ μ 보. |
engines | νλ‘μ νΈκ° μμ‘΄νλ Node.js λ° npmμ λ²μ μ μ½ μ‘°κ±΄. |
scripts | μ¬μ©μ μ μ μ€ν¬λ¦½νΈ λͺ©λ‘. npm λͺ
λ Ήμ΄λ₯Ό μ¬μ©νμ¬ μ€ν κ°λ₯. |
config | μ¬μ©μ μ μ μ€μ μ 보. |
dependencies | ν¨ν€μ§μ μμ‘΄μ± λͺ©λ‘. |
figlet λͺ¨λ
μ€μΉ
npm i figlet
JavaScript
볡μ¬
μμμ½λ
var figlet = require("figlet");
figlet("Hello World!!", function (err, data) {
if (err) {
console.log("Something went wrong...");
console.dir(err);
return;
}
console.log(data);
});
JavaScript
볡μ¬