> ## Documentation Index
> Fetch the complete documentation index at: https://docs.optimism.io/llms.txt
> Use this file to discover all available pages before exploring further.

# 소스에서 빌드

> [!NOTE]
>
> 소스에서 빌드하려면 Rust 툴체인과 `just` 명령 실행기가 설치되어 있어야 합니다.
>
> Rust와 `just` 설치에 대한 자세한 내용은 [사전 요구 사항](https://docs.optimism.io/ko/node-operators/kona-node/install/overview.md)을 참조하십시오.

먼저 저장소를 클론합니다.

```bash theme={null}
git clone https://github.com/ethereum-optimism/optimism.git
cd rust/kona
```

그런 다음 다음 명령으로 `kona-node` 바이너리를 PATH에 직접 설치합니다.

```bash theme={null}
cargo install --locked --path bin/node --bin kona-node
```

이제 명령줄에서 `kona-node`로 바이너리에 접근할 수 있으며,
바이너리는 기본 .cargo/bin 폴더에 위치합니다.

또는 다음 명령으로 직접 빌드할 수 있습니다.

```bash theme={null}
cargo build --release --bin kona-node
```

이 명령은 바이너리를 `./target/release/kona-node`에 생성하며,
이후 원하는 디렉터리로 복사할 수 있습니다.

## Kona 업데이트

아래 명령을 실행하여 `kona-node`를 특정 버전으로 업데이트할 수
있습니다.

`${VERSION}`은 빌드하려는 버전이며 `vX.X.X` 형식입니다.

```bash theme={null}
git fetch
git checkout ${VERSION}
cargo build --release --bin kona-node
```

## 문제 해결

### 명령을 찾을 수 없음

바이너리는 `CARGO_HOME` 또는 `$HOME/.cargo`에 설치됩니다.
`kona-node` 바이너리를 실행하려면 이 디렉터리가 `PATH`에
포함되어 있어야 합니다.

자세한 내용은 ["Configuring the PATH environment variable"][path]을 참조하십시오.

[path]: https://www.rust-lang.org/tools/install

### 컴파일 오류

최신 버전의 Rust를 실행하고 있는지 확인하십시오.
rustup으로 Rust를 설치했다면 `rustup update`를 실행하기만 하면 됩니다.

최신 버전의 Rust를 설치할 수 없다면, 대신 kona의
[Cargo.toml](https://github.com/ethereum-optimism/optimism/blob/develop/rust/kona/Cargo.toml)에서
`rust-version` 키에 명시된 최소 지원 Rust 버전(MSRV)으로 컴파일할 수 있습니다.

`(signal: 9, SIGKILL: kill)`과 함께 컴파일이 실패한다면, 컴파일 중
머신의 메모리가 부족했다는 의미일 수 있습니다. Docker를 사용 중이라면
컨테이너의 메모리를 늘리거나 [사전 빌드된
바이너리](https://github.com/ethereum-optimism/optimism/releases)를 사용하는 것을 고려하십시오.

`error: linking with cc failed: exit code: 1`과 함께 컴파일이 실패한다면
`cargo clean`을 실행해 보십시오.

## 다음 단계

* [설계 문서](https://docs.optimism.io/ko/node-operators/kona-node/design/intro.md)를 읽고 kona-node의 아키텍처를 이해하십시오
* [바이너리](https://docs.optimism.io/ko/node-operators/kona-node/run/binary.md) 문서를 확인하십시오
* [예제](https://github.com/ethereum-optimism/optimism/tree/develop/rust/kona/examples)를 살펴보십시오
