Ripgrep pakken tilbyr en rekursiv grep alternativ skrevet i Rust.
En nettverksforbindelse er nødvendig for å bygge denne pakken. Systemsertifikatlageret må kanskje konfigureres med make-ca før du bygger denne pakken.
Installer ripgrep ved å kjøre følgende kommandoer:
cargo build --profile=release-lto --features=pcre2
For å kjøre testpakken, utsted: cargo test --features=pcre2.
Nå, som root bruker:
install -vDm755 target/release-lto/rg -t /usr/bin/
Hvis du vil installere manualsiden, kjør følgende kommando som
root bruker:
target/release-lto/rg --generate man | install -vDm644 /dev/stdin /usr/share/man/man1/rg.1
Hvis du ønsker å installere skallkompletteringer, utfør de
relevante kommandoene for skallet/skallene dine som root bruker:
target/release-lto/rg --generate complete-bash | install -vDm644 /dev/stdin /usr/share/bash-completion/completions/rg target/release-lto/rg --generate complete-fish | install -vDm644 /dev/stdin /usr/share/fish/vendor_completions.d/rg.fish target/release-lto/rg --generate complete-zsh | install -vDm644 /dev/stdin /usr/share/zsh/site-functions/_rg
--profile=release-lto:
Oppstrøms spesifiserte byggeoptimaliseringer som normalt kan være
tilstede i utgivelsesprofilen i en tilpasset release-lto profil.
[4] Det er også verdt å
merke seg at oppstrøms bygger sine utgivelsesressurser med
release-lto profilen.
--features=pcre2: Denne
parameteren kobler seg mot et PCRE2 bibliotek installert i LFS for
å gi støtte for funksjoner som finnes i PCRE2 regex motoren,
inkludert tilbakereferanser og gjennomsyn. Denne funksjonaliteten
eksponeres gjennom --pcre2
og --engine rg flaggene.
[4]
Disse optimaliseringene er definert i Cargo.toml. For en forklaring av hva hver av
dem gjør, se The
Cargo Book's profiles chapter. Den tilpassede profilen brukes
fordi utvikleren ofte gjenoppbygger ripgrep med optimaliseringer
for grunnleggende utgivelser for utviklingsformål, og LTO bremser
byggingen betydelig. Oppstøms kan ha valgt å definere en
release-lto profil etter
dette eksemplet. For mer informasjon om denne profilen, se
denne commit og de refererte problemene.