[Node.js] ๐คทโโ๏ธ npm(Node Package Manager)์ด ๋ญ๊ธธ๋?
๐คทโโ๏ธ npm?
npm
์ Node Package Manager์ ์ฝ์ด๋ก JavaScript
๋ฅผ ์ํ ํจํค์ง ๊ด๋ฆฌ์์
๋๋ค. JavaScript Runtime ํ๊ฒฝ์ Node.js
์ ๊ทธ Node
์
๋๋ค.
์ธ๊ณ ์ต๋์ ์ํํธ์จ์ด ์ฐฝ๊ณ
npm
์ ์ธ๊ณ ์ต๋์ ์ํํธ์จ์ด ์ฐฝ๊ณ ๋ก 80๋ง๊ฐ๊ฐ ๋๋ ์ฝ๋ ํจํค์ง๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. ์คํ์์ค ๊ฐ๋ฐ์๋ค์ npm
์ ์ด์ฉํ์ฌ ๊ทธ๋ค์ ์ํํธ์จ์ด๋ฅผ ๊ณต์ ํฉ๋๋ค. ๋ง์ ํ์ฌ๋ค๋ npm
์ ์ด์ฉํ์ฌ ์ฌ์ ์ธ ๊ฐ๋ฐ์ ์งํํ๊ณค ํฉ๋๋ค.
SO EAAAAAASY
npm
์ ์์ ๋กญ๊ฒ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค. ํผ๋ธ๋ฆญํ ์ํํธ์จ์ด ํจํค์ง๋ค์ ์ด๋ ํ ๊ฐ์
์ด๋ ๋ก๊ทธ์ธ ์์ด ๋ชจ๋ ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค
CLI ์ด์ฉ
npm
์ ์ํํธ์จ์ด๋ฅผ ๋ค์ด๋ก๋ํ๊ฑฐ๋ ์ค์นํ๊ธฐ ์ํด ์ฌ์ฉ๋๊ณคํ๋ CLI
(Command Line Client)๋ฅผ ํฌํจํฉ๋๋ค.
Windows ์์
C:\>npm install <package>
Mac OS ์์
>npm install <package>
npm ์ค์น
npm
์ Node.js
์ ํจ๊ป ์ค์น๋ฉ๋๋ค.
์ํํธ์จ์ด ํจํค์ง ๋งค๋์
npm
(Node Package Manager)์ npm
์ด ์ฒ์์๋ Node.js
๋ฅผ ์ํ ํจํค์ง ๋งค๋์ ๋ก ๋ง๋ค์ด์ก๊ธฐ ๋๋ฌธ์ ์ด๋ฐ ์ด๋ฆ์ ๊ฐ์ง๊ฒ ๋ ๊ฒ์
๋๋ค. ๋ชจ๋ npm
ํจํค์ง๋ค์ package.json
์ด๋ผ ๋ถ๋ฆฌ๋ ํ์ผ์์ ์ ์๋ฉ๋๋ค. package.json
์ ๋ด์ฉ์ ํญ์ JSON
์ผ๋ก ์ฐ์ฌ์ ธ์ผํฉ๋๋ค. ์ ์ด๋ ๋ ๊ฐ์ ํ๋ name
(ํ๋ก์ ํธ์ ์ด๋ฆ)๊ณผ version
์ ํญ์ ์กด์ฌํด์ผ ํฉ๋๋ค.
{
"name" : "foo",
"version" : "1.2.3",
"description" : "A package for fooing things",
"main" : "foo.js",
"keywords" : ["foo", "fool", "foolish"],
"author" : "John Doe",
"licence" : "ISC"
}
Dependencies(์์กด์ฑ) ๊ด๋ฆฌํ๊ธฐ
npm
์ ์์กด์ฑ์ ๊ด๋ฆฌํ ์ ์์ต๋๋ค. npm
์์ ์์กด์ฑ์ด๋ ํ ๋ง๋๋ก ํด๋น ํ๋ก์ ํธ๊ฐ ๋์๊ฐ๊ธฐ ์ํด ํ์ํ npm
ํจํค์ง๋ค์
๋๋ค. npm
์ ํ๋์ ์ปค๋งจ๋๋ก ํ๋ก์ ํธ์ ๋ชจ๋ ์์กด์ฑ์ ์ค์นํ ์ ์์ต๋๋ค. ์์กด์ฑ์ ๋ํ package.json
์ ์ ์๋์ด ์์ต๋๋ค.
๋น์ ์ ์ํํธ์จ์ด๋ฅผ ๊ณต์ ํด๋ด ์๋ค.
๋ง์ฝ ๋น์ ์ ์ํํธ์จ์ด๋ฅผ npm
๋ ์ง์คํธ๋ฆฌ์ ๊ณต์ ํ๊ณ ์ถ๋ค๋ฉด https://www.npmjs.com/์ ๊ฐ์
ํ๋ฉด ๋ฉ๋๋ค.
ํจํค์ง ํผ๋ธ๋ฆฌ์ฑํ๊ธฐ
package.json
ํ์ผ๋ง ์๋ค๋ฉด ์ด๋ค ํด๋๋ผ๋ ํผ๋ธ๋ฆฌ์ฑํ ์ ์์ต๋๋ค.
npm์ด ๊น๋ ค์๋ ์ง ํ์ธํฉ๋๋ค.
C:\>npm
npm์ ๋ก๊ทธ์ธ์ด ๋์ด์๋ ์ง ํ์ธํฉ๋๋ค.
C:\>npm whoami
๋ง์ฝ ์๋์ด ์๋ค๋ฉด, ๋ก๊ทธ์ธ ํ ์ ์์ต๋๋ค
C:\>npm login
Username: <your username>
Password: <your password>
๋น์ ์ ํ๋ก์ ํธ๋ก ์์น๋ฅผ ์ฎ๊ฒจ์ ๋น์ ์ ํ๋ก์ ํธ๋ฅผ ํผ๋ธ๋ฆฌ์ฑํ์ธ์
C:\Users\myuser>cd myproject
C:\Users\myuser\myproject>npm publish
Written with StackEdit.
'Web > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript] ES6, ES8, ES2017, ECMAScript ์ด๊ฒ ๋ค ๋ญ์์ฌ...? (0) | 2019.05.30 |
---|---|
[Web] ๐ช Cookie์ Web Storage (0) | 2019.03.08 |
[Node.js] ๐คทโโ๏ธ npm(Node Package Manager)์ด ๋ญ๊ธธ๋? (0) | 2019.02.14 |
[JavaScript] ๋ณ์์ ๋ฒ์(variable scope) (0) | 2019.02.11 |
[Node.js] ๐คทโโ๏ธ Node.js๋ ๋ฌด์์ธ๊ฐ? (0) | 2019.02.10 |
์๋ฐ์คํฌ๋ฆฝํธ ์์ง(JavaScript Engine)๊ณผ ์๋ฐ์คํฌ๋ฆฝํธ ๋ฐํ์(Javascript Runtime)์ ์ฐจ์ด (0) | 2019.02.10 |
๋๊ธ
์ด ๊ธ ๊ณต์ ํ๊ธฐ
-
๊ตฌ๋
ํ๊ธฐ
๊ตฌ๋ ํ๊ธฐ
-
์นด์นด์คํก
์นด์นด์คํก
-
๋ผ์ธ
๋ผ์ธ
-
ํธ์ํฐ
ํธ์ํฐ
-
Facebook
Facebook
-
์นด์นด์ค์คํ ๋ฆฌ
์นด์นด์ค์คํ ๋ฆฌ
-
๋ฐด๋
๋ฐด๋
-
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
๋ค์ด๋ฒ ๋ธ๋ก๊ทธ
-
Pocket
Pocket
-
Evernote
Evernote
๋ค๋ฅธ ๊ธ
-
[JavaScript] ES6, ES8, ES2017, ECMAScript ์ด๊ฒ ๋ค ๋ญ์์ฌ...?
[JavaScript] ES6, ES8, ES2017, ECMAScript ์ด๊ฒ ๋ค ๋ญ์์ฌ...?
2019.05.30 -
[Web] ๐ช Cookie์ Web Storage
[Web] ๐ช Cookie์ Web Storage
2019.03.08 -
[JavaScript] ๋ณ์์ ๋ฒ์(variable scope)
[JavaScript] ๋ณ์์ ๋ฒ์(variable scope)
2019.02.11 -
[Node.js] ๐คทโโ๏ธ Node.js๋ ๋ฌด์์ธ๊ฐ?
[Node.js] ๐คทโโ๏ธ Node.js๋ ๋ฌด์์ธ๊ฐ?
2019.02.10