설치
한 줄로, 미리 빌드된 바이너리로, 소스에서
sqzass는 런타임 의존성이 없는 단일 바이너리입니다. Node도, Python도, 시스템 라이브러리도 필요 없습니다.
한 줄
|
스크립트가 하는 일은 정확히 넷이고, 실행 전에 직접 읽어볼 수
있습니다: 플랫폼 판별(x86_64 또는 ARM64 리눅스, Apple Silicon macOS), 최신 릴리스
타르볼과 .sha256 다운로드, 체크섬 검증, /usr/local/bin에 install — sudo는
그 디렉터리에 쓸 수 없을 때만 묻습니다. 다른 곳에 설치하려면
SQZASS_INSTALL_DIR을 주세요. 그 밖의 일은 하지 않습니다 — 셸 설정도, PATH도
건드리지 않습니다.
Cargo로
Rust가 이미 있다면 한 줄로 소스에서 빌드합니다.
Arch Linux
AUR에 sqzass가 있습니다. 릴리스
태그에서 빌드합니다.
sqzass-bin은 만들지 않았습니다. Arch에서 Rust 도구를 소스에서 빌드하는 건
정상이고, 패키지가 둘이면 어느 쪽이 최신인지 묻는 일만 생깁니다.
코딩 에이전트로
이걸 에이전트에 붙여 넣으면 추측 없이 끝냅니다.
Set up sqzass in this project.
Read https://sqzass.sqzer.com/agent.md first — it covers the install (sqzass is
not on crates.io), the TOML front matter, how @/ links resolve, and the error
identifiers to match on.
/agent.md이 긴 쪽입니다. 같은 설치 명령과, 파일 트리만 봐서는
알 수 없는 규칙들과, exit code 표가 들어 있습니다. 이 파일이 있는 이유는
"정적 사이트 생성기를 붙여 줘"라는 말을 들은 에이전트가 그냥 두면
cargo install sqzass부터 시도하기 때문입니다 — 그건 실패합니다. sqzass는
git이나 릴리스 타르볼에서 설치합니다.
소스에서 빌드
바이너리는 target/release/sqzass에 생깁니다.
요구사항
| 요구사항 | 버전 |
|---|---|
| Rust | 1.97 이상 |
| C 컴파일러 | rustc가 링커 구동에 씁니다. 기본 빌드는 구문 강조의 정규식 엔진인 Oniguruma도 이걸로 컴파일합니다. |
| 그 외 | — |
정적 릴리스가 싣는 구성 그대로, 즉 순수 Rust 정규식 엔진에 C 소스 컴파일이 없는 상태도 플래그 하나면 됩니다.
미리 빌드된 바이너리
릴리스마다 정적 링크된 리눅스 빌드 둘
(x86_64-unknown-linux-musl, aarch64-unknown-linux-musl)과
aarch64-apple-darwin 빌드가 붙습니다. 각각 .sha256이 옆에 있습니다.
리눅스 빌드는 정적이라 glibc를 요구하지 않고, 빌드한 배포판보다 오래된 배포판에서도
돕니다. 타르볼 하나가 Debian에서도 Fedora에서도 Arch에서도 그대로 도는 이유가
이것입니다. 순수 Rust 정규식 엔진을 쓰는 빌드이기도 합니다 — 다른 모든 곳에서
sqzass는 코드가 많은 사이트에서 눈에 띄게 빠른 Oniguruma로 강조하는데, Oniguruma는
C 바인딩이고, musl 정적 빌드를 깨뜨리는 게 바로 C 바인딩입니다. 두 엔진의 문법 집합도
같지 않습니다. 순수 Rust 엔진이 일부 문법의 정규식을 못 돌리기 때문에 정적
아티팩트에는 문법 일곱 개가 통째로 빠집니다 — PowerShell, JavaScript (Babel),
Salt State, ARM Assembly 등이요. 네이티브 빌드가 온전히 칠하는 ```powershell
이나 ```jsx 펜스가 거기서는 에러 없이 평문이 됩니다. ```js
조차 마크업 구조가 다릅니다. 네이티브 빌드는 Babel 문법으로, 정적 빌드는 일반
JavaScript로 해석합니다. 각 바이너리 자체는 여전히 완전히 결정적입니다.
설치 확인
다음은 첫 사이트 만들기입니다.