μ°λ¦¬ νμ¬μ λ΄λΆ ν¨ν€μ§ μ€ νλκ° μΌλΆ 리ν©ν λ§μ μννκ³ package.jsonμμ main
λ₯Ό μ
λ°μ΄νΈνλ κ²μ κΈ°μ΅νμ§ μκ³ μ μ₯μμ λ€λ₯Έ κ³³μΌλ‘ μ§μ
μ μ μ΄λνμ λμ΄λ₯Ό λ°κ²¬νμ΅λλ€. μ΅μ’
κ²°κ³Όλ npm pack
ν볡νκ² λ§λ€μ΄ μ λλ‘ μλ ν κΈ°νκ°μλ ν¨ν€μ§λ₯Ό κ²μ ν μμκ²νλ κ²μ
λλ€.
npm pack
λ° npm publish
μ€νμ
npm pack
λ main
κ° tarballμ μ‘΄μ¬νλμ§ νμΈνμ§ μμΌλ―λ‘ μλΉμκ° μ¬μ©ν μμλ ν¨ν€μ§λ₯Ό μ½κ² λ§λ€κ³ κ²μ ν μ μμ΅λλ€.
npm init
λ° κΈ°λ³Έκ°μΌλ‘ λͺ¨λ κ²μ λ§λλ λ¨κ³λ₯Ό μνν©λλ€. μ΄μ κ°μ package.json
λ°κ²λ©λλ€.{
"name": "npm-repro",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
npm pack
λ₯Ό μ€ννκ³ tarballμ΄ ν볡νκ² μμ±λμλμ§ νμΈν©λλ€.npm notice
npm notice π¦ [email protected]
npm notice === Tarball Contents ===
npm notice 205B package.json
npm notice === Tarball Details ===
npm notice name: npm-repro
npm notice version: 1.0.0
npm notice filename: npm-repro-1.0.0.tgz
npm notice package size: 241 B
npm notice unpacked size: 205 B
npm notice shasum: ca39bc17447e27ef2fd0dea656e0e6b473f310d7
npm notice integrity: sha512-p8tZD8W438r7t[...]7Oo0YMcAoNPzQ==
npm notice total files: 1
npm notice
npm-repro-1.0.0.tgz
index.js
κ° μμΌλ―λ‘μ΄ ν¨ν€μ§λ₯Ό μ¬μ©νλ €κ³ μλνλ©΄ μλνμ§ μμ΅λλ€.
npm pack
λ 0μ΄ μλ μ’
λ£ μ½λλ‘ μ’
λ£λ©λλ€.μ΄ κ²½μ°μλ npm publish
κ° μ€ν¨νκ³ package.json
μ main
κ° ν¬ν¨λμ§ μμ ν¨ν€μ§κ° tarballμ ν¬ν¨λμ§ μλλ‘ν©λλ€ package.json
κ° λ μ§μ€νΈλ¦¬μ κ²μλμ§ μμ΅λλ€.μ°λ¦¬ νμ¬λ λ΄λΆ λ μ§μ€νΈλ¦¬μ κ²μνλ €κ³ ν λμ΄ λ¬Έμ λ₯Ό κ²ͺμμ΅λλ€.
μ΄κ²μ΄ npm-packlist
μ λ²κ·Έλ‘ λ μ ν©ν μ§ μ λͺ¨λ₯΄κ² μ΅λλ€. npm
μ‘°μ§μ΄ μ΄λ»κ² λ μ¬μ΄μ λ¬Έμ λ₯Ό κ³μ λΆλ¦¬νκ³ μΆμ΄νλμ§ μ λͺ¨λ₯΄κ² μ΅λλ€. μ¦, npm-packlist
λ μ ν¨μ± κ²μ¬λ₯Ό μννμ§ μκ³ ν¬ν¨μ μλν΄μΌνλ νμΌ λͺ©λ‘μ λ§Ήλͺ©μ μΌλ‘ λ°ννκ³ npm-packlist
μ κΈ°λ₯μ μ¬μ©νλ €λ ν¨ν€μ§μμ λ λμ μμμ μ ν¨μ± κ²μ¬λ₯Ό μννλλ‘ λ¨κ²¨ λμ΄μΌν©λλ€. ?
μ΄κ²μ npm-packlistμ μ§μ
μ΄ μλλΌ npm publish
μ μ§μ
μ
λλ€.
ν©λ¦¬μ μΌλ‘ λ€λ¦½λλ€. μ΄λ€ μ΄μ λ‘ λ μ°λ¦¬ νμ¬λ κ²μκ° μ±κ³΅μ μΌλ‘ μλ£λλμ§ μ¬λΆλ₯Ό νμΈνκΈ° μν΄ npm pack
μ ν
μ€νΈλ‘ μ¬μ©νμ΅λλ€. npm publish --dry-run
κ° λ λμ μν μΌ κ²μ
λλ€.
κ°μ₯ μ μ©ν λκΈ
ν©λ¦¬μ μΌλ‘ λ€λ¦½λλ€. μ΄λ€ μ΄μ λ‘ λ μ°λ¦¬ νμ¬λ κ²μκ° μ±κ³΅μ μΌλ‘ μλ£λλμ§ μ¬λΆλ₯Ό νμΈνκΈ° μν΄
npm pack
μ ν μ€νΈλ‘ μ¬μ©νμ΅λλ€.npm publish --dry-run
κ° λ λμ μν μΌ κ²μ λλ€.