npm의 전역 설치(global install)과 로컬 설치(local install)의 차이는 무엇인가요?
_____A1: 전역 설치는 패키지를 시스템 전체에서 사용할 수 있도록 컴퓨터의 전역 경로에 설치하는 것이고, 로컬 설치는 특정 프로젝트의 디렉토리 내에만 패키지를 설치하는 것입니다.
---
Q2: 전역 설치는 언제 사용하나요?
A2: 전역 설치는 CLI(Command Line Interface) 도구나, 터미널에서 직접 실행해야 하는 실행 파일을 제공하는 패키지를 설치할 때 사용합니다. 예를 들어 `npm install -g typescript`는 `tsc` 명령어를 전역에서 사용할 수 있게 해줍니다.
---
Q3: 로컬 설치는 언제 사용하나요?
A3: 로컬 설치는 특정 프로젝트에서만 필요한 라이브러리, 프레임워크, 모듈을 설치할 때 사용합니다. 이렇게 하면 프로젝트별로 서로 다른 버전의 패키지를 독립적으로 관리할 수 있습니다.
---
Q4: 설치 경로 차이는 무엇인가요?
A4:
- 전역 설치: 보통 `npm root -g` 명령어로 확인 가능한 전역 패키지 디렉토리에 설치됩니다. OS에 따라 다르지만, 예를 들어 macOS/Linux는 `/usr/local/lib/node_modules`, Windows는 `%AppData%\npm\node_modules` 등에 설치됩니다.
- 로컬 설치: 현재 프로젝트의 `node_modules` 폴더 내에 설치되고, `package.json`의 `dependencies` 또는 `devDependencies`에 기록됩니다.
---
Q5: 실행 방법에 차이가 있나요?
A5:
- 로컬 설치된 패키지는 해당 프로젝트 내에서만 접근 가능하며, 직접 실행하려면 `npx package-name` 명령어를 사용하거나 `package.json`의 `scripts` 항목에 등록해 사용합니다.
---
Q6: 권한 문제는 어떻게 다르나요?
A6: 전역 설치 시 시스템 경로에 파일을 쓰기 때문에 `sudo` 권한(또는 관리자 권한)이 필요할 수 있습니다. 반면 로컬 설치는 프로젝트 디렉토리 내에 설치되므로 일반 사용자 권한으로 충분합니다.
---
Q7: 패키지 버전 관리에 차이가 있나요?
A7: 로컬 설치는 프로젝트마다 독립적인 버전을 유지할 수 있으므로, 프로젝트 간 버전 충돌 없이 안정적으로 관리됩니다. 전역 설치는 모든 프로젝트에서 동일한 버전을 사용하게 됩니다.
---
Q8: 의존성 관리 측면에서 어떤 차이가 있나요?
A8: 로컬 설치된 패키지는 `package.json`과 `package-lock.json`에 기록되어 협업 시 일관된 개발 환경을 보장합니다. 전역 설치는 이러한 기록이 되지 않아 다른 개발자가 동일한 환경을 구성하기 어렵습니다.
---
요약:
- 전역 설치 (-g 옵션): CLI 도구, 시스템 전체 사용, 권한 필요, 버전 공유
- 로컬 설치 (기본): 프로젝트 종속 라이브러리, 권한 불필요, 버전 독립적, 협업용
이렇게 전역과 로컬 설치 방식을 적절히 선택하여 사용하면 효율적인 개발 환경을 구축할 수 있습니다.
이 두 가지 설치 방식은 각각의 용도와 특징이 다르며, 개발 환경에서의 사용에 따라 적절한 선택이 필요합니다.
1. 전역 설치 (Global Install) 전역 설치는 패키지를 시스템의 전역 공간에 설치하는 방식입니다.
이 경우, 설치된 패키지는 모든 프로젝트에서 사용할 수 있으며, 명령줄에서 직접 실행할 수 있는 CLI(Command Line Interface) 도구로 주로 사용됩니다.
특징: - 경로 : 전역으로 설치된 패키지는 일반적으로 `/usr/local/lib/node_modules` (Unix 계열) 또는 `C:\Users\
- 명령어 사용 : 전역 설치된 패키지는 터미널에서 직접 호출할 수 있습니다.
예를 들어, `npm install -g typescript`로 TypeScript를 전역 설치하면, `tsc` 명령어를 어디서든 사용할 수 있습니다.
- 버전 관리 : 전역 설치된 패키지는 시스템 전체에서 공유되므로, 여러 프로젝트에서 동일한 버전을 사용해야 할 필요가 있습니다.
그러나 서로 다른 프로젝트에서 다른 버전이 필요할 경우, 전역 설치는 문제가 될 수 있습니다.
사용 예: - CLI 도구 (예: `npm`, `yarn`, `create-react-app`, `typescript` 등) - 개발 도구 (예: `webpack`, `gulp`, `grunt` 등)
2. 로컬 설치 (Local Install) 로컬 설치는 특정 프로젝트의 디렉토리에 패키지를 설치하는 방식입니다.
이 경우, 패키지는 해당 프로젝트에서만 사용 가능하며, 다른 프로젝트와는 독립적으로 관리됩니다.
특징: - 경로 : 로컬로 설치된 패키지는 프로젝트의 `node_modules` 디렉토리에 저장됩니다.
예를 들어, `my-project/node_modules` 경로에 설치됩니다.
- 의존성 관리 : 로컬 설치는 각 프로젝트마다 독립적으로 패키지를 관리할 수 있게 해줍니다.
각 프로젝트의 `package.json` 파일에 의존성이 기록되며, 이를 통해 프로젝트별로 필요한 패키지와 버전을 명확히 관리할 수 있습니다.
- 버전 충돌 방지 : 서로 다른 프로젝트에서 동일한 패키지의 다른 버전을 사용할 수 있어, 버전 충돌 문제를 방지할 수 있습니다.
사용 예: - 특정 프로젝트에서만 필요한 라이브러리 (예: `react`, `express`, `lodash` 등) - 테스트 도구 (예: `jest`, `mocha` 등) 결론 전역 설치와 로컬 설치는 각각의 용도와 필요에 따라 선택해야 합니다.
CLI 도구와 같이 시스템 전반에서 사용해야 하는 패키지는 전역 설치를, 특정 프로젝트에서만 필요한 라이브러리는 로컬 설치를 사용하는 것이 일반적입니다.
이러한 설치 방식을 적절히 활용하면, 개발 환경을 보다 효율적으로 관리할 수 있습니다.
작성자:
정하연 [비회원]
| 작성일자: 1년 전
2024-09-13 09:24:24
조회수: 182 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 182 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.