Cópia estática
Copiado de docs/install.pt-BR.md em https://github.com/poppy-team/ori-lang (MIT). Fixado na revisão 42e1817227fbc96e8e4a4a85fac78b3fec0a0e0f, blob 1589150d9727ea0f8184cf3ee513054ba188de17. O repositório de origem permanece canônico; esta cópia é atualizada por um pull request de sincronização, não em tempo real.
Público-alvo: usuários finais que querem desenvolver em Ori sem clonar o repositório e sem toolchain Rust.
English: install.md
Superfície: S3 + inference B · último release v0.3.8 · M1 fechada
Ori usa o rust-lld empacotado quando disponível e, caso contrário, descobre o linker nativo do SO para AOT (ori compile, ori test). O pacote não exige rustc nem cargo. Para JIT (ori run), nenhum linker é necessário — só o runtime empacotado em runtime/<triple>/ ao lado do binário ori.
Pré-requisito para fallback: Visual Studio Build Tools ou Community com a workload "Desktop development with C++". Packages de release normalmente incluem rust-lld; instale isso somente se ori doctor indicar fallback para o linker do sistema.
winget install Microsoft.VisualStudio.2022.BuildToolsNão é necessário: Rust (rustc, cargo). O rust-lld empacotado é um detalhe interno do pacote.
Pré-requisito para fallback: build-essential (ou gcc + ld + headers da libc). Packages de release normalmente incluem rust-lld; instale isso somente se ori doctor indicar fallback para o linker do sistema.
# Debian / Ubuntu
sudo apt update && sudo apt install build-essentialPré-requisito para fallback: Xcode Command Line Tools (xcode-select --install). Packages de release normalmente incluem rust-lld; instale as ferramentas somente se ori doctor indicar fallback para o linker do sistema.
Política de distribuição (2026-07-14): packages oficiais de release para Linux, Windows (MSVC) e macOS (Apple Silicon + Intel) via GitHub Actions (
.github/workflows/release.yml). Assets no tagv*em GitHub Releases.
Baixe em GitHub Releases (para a tag vX.Y.Z):
| Plataforma | Arquivo |
|---|---|
| Linux x86_64 | ori-vX.Y.Z-x86_64-unknown-linux-gnu.tar.gz |
| Linux deb | ori_X.Y.Z_amd64.deb |
| Windows MSVC x86_64 | ori-vX.Y.Z-x86_64-pc-windows-msvc.zip |
| macOS Apple Silicon | ori-vX.Y.Z-aarch64-apple-darwin.tar.gz |
| macOS Intel | ori-vX.Y.Z-x86_64-apple-darwin.tar.gz |
Releases produzidas pelo workflow atual também trazem SHA256SUMS, ori-vX.Y.Z.spdx.json e atestações GitHub de proveniência do build. No diretório dos downloads:
sha256sum --check SHA256SUMS
gh attestation verify ori-vX.Y.Z-x86_64-unknown-linux-gnu.tar.gz --repo raillen/ori-langWindows (recomendado — estilo Scoop):
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope CurrentUser # opcional, uma vez
irm https://raw.githubusercontent.com/raillen/ori-lang/main/tools/windows/get.ps1 | iexVersão fixa / reinstalar: $env:ORI_VERSION="0.3.8"; $env:ORI_FORCE="1"; irm …/get.ps1 | iex.
Instala em %LOCALAPPDATA%\Programs\Ori e adiciona ao PATH do usuário.
Sistema: $env:ORI_SYSTEM="1" (Administrador).
Desinstalar: pwsh -File "$env:LOCALAPPDATA\Programs\Ori\uninstall.ps1".
Zip manual: extraia e rode install.cmd.
Detalhes: tools/windows/README.md.
Tarball / zip (manual): extraia (ex. ~/ori ou C:\ori), layout ori/ori.exe + ori-lsp + stdlib/ + runtime/<triple>/, coloque no PATH.
Debian/Ubuntu:
sudo dpkg -i ori_0.3.8_amd64.deb
# AOT fallback: sudo apt install build-essentialVerifique: ori --version e ori doctor.
Esperado: stdlib, runtime AOT + JIT, triple, linker (BundledRustLld ou SystemLinker), JIT para ori run.
module app.hello
import ori.io = io
main()
io.println("Hello, Ori!")
endori run hello.orl
ori new my_app && cd my_app && ori run main.orlNa mesma Release da linguagem:
| Editor | Asset | Instalação |
|---|---|---|
| VS Code / Cursor | ori-vscode-orl-0.3.5.vsix (release) | code --install-extension <file>.vsix |
| Zed | ori-zed-0.3.5.zip | extrair → zed: install dev extension |
Requer ori-lsp no PATH. Detalhes: extensions/README.md.
Próximo: Tour da linguagem · Primeiro projeto · Exemplos · Editores: VS Code · Zed.
Instalações via pacote (tar.gz / zip do Windows) se atualizam sozinhas:
$ ori update --check # só informa se há versão nova
$ ori update # baixa, verifica (sha256) e troca no lugarO ori update recusa instalações do gerenciador do sistema (use o novo .deb) e builds de desenvolvimento (atualize via git pull + cargo build). O checksum vem do manifest do release no GitHub; divergência aborta antes de tocar em qualquer arquivo.
Normalmente nenhuma é necessária.
| Variável | Propósito |
|---|---|
ORI_USE_SYSTEM_LINKER=1 | Forçar linker do SO |
ORI_USE_JIT=1 / ORI_USE_AOT=1 | Forçar modo de ori run |
ORI_STDLIB_ROOT | Raiz da stdlib |
ORI_RUNTIME_LIB / ORI_RUNTIME_CDYLIB | Runtime nativo |
| Sintoma | Ação |
|---|---|
native.link_failed | Instale o linker do SO |
| Runtime not found | runtime/ deve ficar ao lado de ori |
Só ori run funciona | AOT precisa do linker; JIT não |
| LSP no VS Code / Zed | ori-lsp no PATH (ou settings ori.*.path no VS Code) |
ori-native-abi-1