Elixir의 패키지 배포 방법은?
_____A1: 배포할 패키지의 이름, 버전, 의존성 등을 정의한 `mix.exs` 파일을 준비해야 합니다. 또한, Hex.pm에 계정을 만들어 인증 토큰을 발급받아야 합니다.
---
Q2: Hex.pm란 무엇인가요?
A2: Hex.pm은 Elixir와 Erlang 생태계에서 사용하는 공식 패키지 저장소입니다. Elixir 패키지를 전세계 개발자들과 공유하기 위해 사용됩니다.
---
Q3: 어떤 단계를 거쳐 Elixir 패키지를 Hex.pm에 배포하나요?
A3:
1. `mix.exs` 파일에서 `package/0` 함수로 배포 정보(라이센스, 링크, 파일 등)를 명시합니다.
2. Hex.pm 계정을 생성하고 로그인합니다 (`mix hex.user register` 또는 `mix hex.user auth`).
3. 버전과 패키지 정보를 확인합니다.
4. `mix hex.publish` 명령어를 실행해 배포합니다.
---
Q4: `package/0` 함수는 어떻게 정의하나요?
A4: `mix.exs` 내 `defp package do ... end` 형태로 작성하며, 보통 다음 항목을 포함합니다:
- `licenses`: [`"MIT"`],
- `links`: `%{"GitHub" => "https://github.com/사용자명/프로젝트"}`,
- `files`: `["lib", "mix.exs", "README.md"]`
예:
```elixir
defp package do
[
licenses: ["MIT"],
links: %{"GitHub" => "https://github.com/yourname/yourproject"},
files: ~w(lib mix.exs README.md)
]
end
```
---
Q5: `mix hex.publish` 실행 전 주의할 점은 무엇인가요?
A5:
- `mix.exs`에서 `version` 필드가 새로운 버전인지 확인하세요.
- README, 라이센스 파일 등을 준비해 포함시키세요.
- `mix deps.get`으로 의존성을 모두 받아오고, 테스트가 통과하는지 확인하세요.
- Hex.pm 로그인 상태인지 확인하세요 (`mix hex.user whoami`).
---
A6:
```bash
mix hex.user register
```
로 Hex.pm 계정을 등록한 뒤,
```bash
mix hex.publish
```
명령어로 패키지를 배포합니다.
---
Q7: Hex.pm 인증 토큰을 사용하는 방법은?
A7: Hex 계정의 인증 토큰을 발급받아 환경변수 `HEX_API_KEY`에 등록하거나, `mix hex.user auth` 명령어를 통해 인증합니다. 토큰은 CI/CD 환경에서 자동 배포 시 유용합니다.
---
Q8: 이미 Hex.pm에 존재하는 패키지를 업데이트하려면?
A8: `mix.exs`의 `version` 값을 새로운 버전으로 올려 수정한 후,
```bash
mix hex.publish
```
명령어를 실행하면 업데이트가 반영됩니다. 기존 버전은 덮어쓸 수 없습니다.
---
Q9: 배포 후 패키지를 확인하는 방법은?
A9: Hex 웹사이트(https://hex.pm/packages/패키지이름)에서 확인할 수 있으며,
```bash
mix hex.info 패키지이름
```
명령어로도 정보 조회가 가능합니다.
---
Q10: 배포 실패시 문제 해결 방법은?
A10:
- 버전이 중복되었는지 확인합니다.
- `mix hex.user whoami`로 로그인 상태 확인.
- `mix deps.get` 후 테스트 실행으로 의존성 문제 해결.
- `mix hex.publish --dry-run`로 배포 전 문제 진단.
- 네트워크 연결 상태와 Hex.pm 서버 상태 점검.
---
이상은 Elixir 패키지를 Hex.pm에 배포하는 기본 과정과 주요 FAQ입니다.
작성자:
최지율 [비회원]
| 작성일자: 1년 전
2025-01-02 06:21:52
조회수: 295 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
조회수: 295 | 댓글: 0 | 좋아요: 0 | 싫어요: 0
내용이 부정확하다면 싫어요를 클릭해주세요.