Contents

package.json에 λŒ€ν•˜μ—¬

   Jan 11, 2024     1 min read

β€œpackage.json”에 λŒ€ν•˜μ—¬

μ˜€λŠ˜μ€ 파일 병합 μ‹œ λ°œμƒν•  수 μžˆλŠ” install μ—λŸ¬μ— λŒ€ν•΄ μ €μ˜ κ²½ν—˜μ„ ν† λŒ€λ‘œ 글을 μž‘μ„±ν•˜κ³ μž ν•©λ‹ˆλ‹€.

μ˜μ‘΄μ„± λͺ¨λ“ˆμ„ 타 νŒ€μ›κ³Ό μΌμΉ˜μ‹œν‚¬ ν•„μš”κ°€ μžˆμ„ 경우 package.json νŒŒμΌμ„ κ΅μ²΄ν•˜λŠ” κ²½μš°κ°€ μžˆλŠ”λ°μš”.

λ¬Όλ‘  git을 톡해 ν˜‘μ—… ν™˜κ²½μ΄ κ΅¬μΆ•λ˜μ–΄ μžˆλ‹€λ©΄ λ‹€λ₯Έ 쒋은 선택지도 μžˆκ² μ§€λ§Œ μ΅œμ„ μœΌλ‘œ ν–‰ν•  수 없을 경우 μ°¨μ„ μ±…μœΌλ‘œ κ°€μ•Όν•  λ•Œκ°€ 있죠.

그런 상황이라고 κ°€μ •ν•΄λ³΄κ² μŠ΅λ‹ˆλ‹€.

그런데 μ €μ˜ κ²½μš°μ— project 내뢀에 package.json에 λ‚˜μ˜€λŠ” μ˜μ‘΄μ„± νŒ¨ν‚€μ§€λ“€μ΄ npm install commandλ₯Ό μž…λ ₯ν•  μ‹œ λ‹€ μ„€μΉ˜λ˜μ–΄μ•Ό ν•˜λŠ”λ° 가끔 μˆ˜λ™μœΌλ‘œ 직접 μ„€μΉ˜ν•΄μ€˜μ•Ό ν•˜λŠ” κ²½μš°κ°€ μžˆλ”λΌκ³ μš”.

μ˜€λŠ˜μ€ 이 μ΄μŠˆμ— λŒ€ν•΄ μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.

μ™œ 가끔 μˆ˜λ™μœΌλ‘œ μ„€μΉ˜ν•΄μ€˜μ•Ό ν• κΉŒμš”?

  1. package.json 파일이 λ³€κ²½λ˜μ—ˆμ§€λ§Œ npm install을 μ‹€ν–‰ν•˜μ§€ μ•Šμ•˜μ„ 경우: package.json νŒŒμΌμ— μ˜μ‘΄μ„± νŒ¨ν‚€μ§€κ°€ μΆ”κ°€λ˜κ±°λ‚˜ μ—…λ°μ΄νŠΈλ˜μ—ˆμ„ 경우, ν•΄λ‹Ή λ³€κ²½ 사항을 μ μš©ν•˜κΈ° μœ„ν•΄ npm install을 μ‹€ν–‰ν•΄μ•Ό ν•©λ‹ˆλ‹€. package.json νŒŒμΌμ„ λ³€κ²½ν•œ ν›„μ—λŠ” npm install λͺ…λ Ήμ–΄λ₯Ό λ‹€μ‹œ μ‹€ν–‰ν•˜μ—¬ νŒ¨ν‚€μ§€λ₯Ό μ„€μΉ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€.
  2. node_modules 디렉토리가 μ‚­μ œλ˜μ—ˆμ„ 경우: npm install λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•˜λ©΄ νŒ¨ν‚€μ§€λ“€μ€ node_modules 디렉토리에 μ„€μΉ˜λ©λ‹ˆλ‹€. λ§Œμ•½ node_modules 디렉토리가 μˆ˜λ™μœΌλ‘œ μ‚­μ œλ˜μ—ˆλ‹€λ©΄, λ‹€μ‹œ npm install을 μ‹€ν–‰ν•˜μ—¬ νŒ¨ν‚€μ§€λ₯Ό λ‹€μ‹œ μ„€μΉ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€.
  3. package-lock.json 파일 좩돌: package-lock.json νŒŒμΌμ€ νŒ¨ν‚€μ§€ μ˜μ‘΄μ„±μ˜ μ •ν™•ν•œ 버전을 κΈ°λ‘ν•˜λŠ” 데 μ‚¬μš©λ©λ‹ˆλ‹€. ν”„λ‘œμ νŠΈλ₯Ό κ³΅μœ ν•˜κ±°λ‚˜ ν˜‘μ—…ν•  λ•Œ λ‹€λ₯Έ κ°œλ°œμžκ°€ package-lock.json νŒŒμΌμ„ λ³€κ²½ν•˜κ±°λ‚˜ 좩돌이 λ°œμƒν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이 κ²½μš°μ—λŠ” npm install λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•˜κΈ° 전에 package-lock.json νŒŒμΌμ„ μ—…λ°μ΄νŠΈν•˜κ±°λ‚˜ μ‚­μ œν•œ 후에 μ‹€ν–‰ν•΄μ•Ό ν•©λ‹ˆλ‹€.
  4. λ„€νŠΈμ›Œν¬ 문제: λ•Œλ‘œλŠ” λ„€νŠΈμ›Œν¬ μ—°κ²° 문제둜 인해 νŒ¨ν‚€μ§€λ₯Ό λ‹€μš΄λ‘œλ“œν•  수 μ—†λŠ” κ²½μš°κ°€ μžˆμ„ 수 μžˆμŠ΅λ‹ˆλ‹€. 이 κ²½μš°μ—λŠ” λ„€νŠΈμ›Œν¬ 연결을 ν™•μΈν•˜κ³  npm install을 λ‹€μ‹œ μ‹€ν–‰ν•΄ λ³΄λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

μ΄λŸ¬ν•œ 이유둜 인해 μ˜μ‘΄μ„± νŒ¨ν‚€μ§€λ“€μ΄ μžλ™μœΌλ‘œ μ„€μΉ˜λ˜μ§€ μ•Šμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

μœ„μ˜ 상황 쀑 ν•˜λ‚˜μ— ν•΄λ‹Ήν•˜λŠ” κ²½μš°μ—λŠ” ν•΄λ‹Ή 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ μˆ˜λ™μœΌλ‘œ νŒ¨ν‚€μ§€λ₯Ό μ„€μΉ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€.

κ²°λ‘ 

μ΄λŸ¬ν•œ 이유둜 인해 μ˜μ‘΄μ„± νŒ¨ν‚€μ§€λ“€μ΄ μžλ™μœΌλ‘œ μ„€μΉ˜λ˜μ§€ μ•Šμ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

μœ„μ˜ 상황 쀑 ν•˜λ‚˜μ— ν•΄λ‹Ήν•˜λŠ” κ²½μš°μ—λŠ” ν•΄λ‹Ή 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ μˆ˜λ™μœΌλ‘œ νŒ¨ν‚€μ§€λ₯Ό μ„€μΉ˜ν•΄μ•Ό ν•©λ‹ˆλ‹€.