# Install octave with Homebrew, apk, chocolatey, apt, dnf, MacPorts, Nix, pacman, scoop, winget, zypper

High-level interpreted language for numerical computing. Version 11.3.0 via Homebrew; verified 2026-07-06.

## Install

```sh
sudo av install brew:octave
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install octave
```

  Evidence: local Homebrew formula metadata

- MacPorts (94%):

```sh
sudo port install octave
```

  Evidence: MacPorts ports tree: math/octave/Portfile from https://api.github.com/repos/macports/macports-ports/git/trees/master?recursive=1

### Linux

- apk (92%):

```sh
sudo apk add octave
```

  Evidence: Alpine Linux edge package indexes: octave from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz

- Debian apt (92%):

```sh
sudo apt install octave
```

  Evidence: Debian stable package indexes: octave from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz

- dnf (92%):

```sh
sudo dnf install octave
```

  Evidence: Fedora Rawhide package metadata: octave from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst

- Nix (92%):

```sh
nix profile install nixpkgs#octave
```

  Evidence: nixpkgs package indexes: octave from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix

- pacman (92%):

```sh
sudo pacman -S octave
```

  Evidence: Arch Linux sync databases: octave from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz

- zypper (92%):

```sh
sudo zypper install octave
```

  Evidence: openSUSE Tumbleweed package metadata: octave from https://download.opensuse.org/tumbleweed/repo/oss/repodata/be8d3611d25469107f32075a1697e69ec57a2b850b42348a658cc671ad5ec2b50760d02c3e59524d50da9a11d5be799bdaffba2e166e8ca8858512e3c0bd665d-primary.xml.zst

### Windows

- Chocolatey (92%):

```sh
choco install Octave
```

  Evidence: Chocolatey community package catalog: Octave from http://community.chocolatey.org/api/v2/Packages?$filter=IsLatestVersion&$select=Id&$top=1000&$skiptoken='11','ntlite-free'

- Scoop (92%):

```sh
scoop install main/octave
```

  Evidence: Scoop official bucket manifest trees: bucket/octave.json from https://api.github.com/repos/ScoopInstaller/Main/git/trees/master?recursive=1

- winget (92%):

```sh
winget install --id GNU.Octave -e
```

  Evidence: Windows Package Manager source index: GNU.Octave from https://cdn.winget.microsoft.com/cache/source.msix

## Package facts

- **Package key:** brew:octave
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/octave>
- **Version:** 11.3.0
- **Source summary:** High-level interpreted language for numerical computing
- **Homepage:** <https://octave.org/index.html>
- **Repository:** <https://hg.octave.org/octave>
- **Upstream docs:** <https://docs.octave.org/octave>
- **License:** GPL-3.0-or-later
- **Source archive:** <https://ftpmirror.gnu.org/gnu/octave/octave-11.3.0.tar.xz>
- **Last updated:** 2026-07-06T01:46:10Z
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- mkoctfile (cli)
- mkoctfile-11.1.0 (cli)
- octave (cli)
- octave-11.1.0 (cli)
- octave-cli (cli)
- octave-cli-11.1.0 (cli)
- octave-config (cli)
- octave-config-11.1.0 (cli)
- mkoctfile (alias)
- mkoctfile-11.1.0 (alias)
- octave (alias)
- octave-11.1.0 (alias)
- octave-cli (alias)
- octave-cli-11.1.0 (alias)
- octave-config (alias)
- octave-config-11.1.0 (alias)

## Dependencies

- arpack
- epstool
- fftw
- fig2dev
- fltk
- fontconfig
- freetype
- gcc
- ghostscript
- gl2ps
- glpk
- graphicsmagick
- hdf5
- libsndfile
- libtool
- little-cms2
- openblas
- pcre2
- portaudio
- pstoedit
- qhull
- qrupdate
- qscintilla2
- qt5compat
- qtbase
- qttools
- rapidjson
- readline
- suite-sparse
- sundials
- texinfo

## Build dependencies

- gnu-sed
- openjdk
- pkgconf

## Uses from macOS

- bzip2
- curl

## Install behavior

- Post-install hook: not defined
- Bottle: available on arm64_linux, arm64_sequoia, arm64_sonoma, arm64_tahoe, sonoma, x86_64_linux

## Freshness

- Page generated: 2026-07-08
- Package-manager version: 11.3.0
- Package-manager updated: 2026-07-06
- Local data: ok
- Upstream repository: https://octave.org/index.html
- info: Release/tag comparison is only available for GitHub repositories.
## Project history and usage

GNU Octave is a high-level language and interactive environment for numerical computation, built around matrix-oriented programming and broad MATLAB compatibility. It is used from a GUI, CLI, scripts, batch jobs, and native extension interfaces for scientific computing, engineering, teaching, and reproducible research workflows.

### Project history

Octave began as companion software for an undergraduate chemical reactor design textbook by James B. Rawlings and John G. Ekerdt. The official about page says full-time development began in spring 1992, the first alpha release was published on 1993-01-04, and version 1.0 was released on 1994-02-17.

John W. Eaton is identified by the project FAQ as the original author, with discussions starting around 1988 and full-time development beginning in February 1992. The name honors Octave Levenspiel, a chemical reaction engineering professor known for back-of-the-envelope calculations, not music.

Octave became GNU Octave in 1997 beginning with version 2.0.6, aligning the project with GNU infrastructure and coding standards while remaining a community-developed numerical environment. The official manual and FAQ describe a system that grew far beyond courseware into a general-purpose free-software platform for numerical experiments.

### Adoption history

The official about page says Octave is included with many GNU/Linux distributions, and the package metadata in av.db shows packaging across Homebrew, Debian/Ubuntu, Fedora, MacPorts, Nix, Arch, Alpine, Chocolatey, Scoop, winget, and openSUSE-family repositories. That distribution coverage is central to its role as the free-software MATLAB-like environment users can install from ordinary package managers.

The Octave manual documents use in chemical engineering courses, mathematics teaching, Stanford’s online Machine Learning class, and broader teaching, research, and commercial applications. The FAQ describes users ranging from students to researchers in statistics, machine learning, and data analytics, plus universities, companies, and individual users.

Octave Forge and the Octave package ecosystem extend the core system in a MATLAB-toolbox-like model. The FAQ describes Octave Forge as a collection of packages for GNU Octave, a test bed for code that may later move into core, and a source of binaries for systems lacking developer tools.

### How it is used

Users run `octave` or `octave-cli` interactively, execute `.m` scripts, use the Qt GUI/IDE for editing and debugging, and call numerical routines for linear and nonlinear equations, numerical linear algebra, statistics, plotting, and automated data processing. The manual emphasizes both the GUI-hosted IDE and the command-line interface.

Developers package and extend Octave through `.m` files, dynamically loadable modules built with `mkoctfile`, MEX-compatible interfaces, startup files such as `octaverc`, and add-on packages. The Homebrew package’s executables include versioned and unversioned `octave`, `octave-cli`, `mkoctfile`, and `octave-config`, reflecting both end-user and extension-building workflows.

### Why package nerds care

Octave is one of the flagship free numerical-computing packages: it combines a language runtime, CLI, GUI, plotting stack, native-code extension build tools, documentation, and package ecosystem into a single distribution artifact. For package managers it is challenging and interesting because it touches Fortran and C++ numerical libraries, graphics back ends, documentation, GUI dependencies, and ABI-sensitive extension building.

Its MATLAB compatibility gives it a distinctive package-nerd role. Octave is not merely another calculator or scripting language; it is the installable free-software answer for users who need to run or port matrix-oriented `.m` code, teach numerical methods, or reproduce scientific computations without proprietary tooling.

### Timeline

- 1988: project discussions began around software for chemical reactor design education.
- 1992: John W. Eaton began full-time development.
- 1993-01-04: first alpha release.
- 1994-02-17: version 1.0 release.
- 1997: Octave became GNU Octave beginning with version 2.0.6.
- 2011: the FAQ says GNU Octave began regular participation as a mentoring organization in Summer of Code events.
- 2026: the official manual citation page identifies GNU Octave 11.1.0 documentation.

### Related projects

- GNU Octave is closely related to MATLAB-compatible `.m` language workflows, Octave Forge packages, BLAS/LAPACK-style numerical libraries, plotting systems, and comparable numerical environments such as Scilab, FreeMat, Julia, Python/SciPy, and R.

### Sources

- <https://docs.octave.org/octave>
- <https://docs.octave.org/v11.1.0/Introduction.html>
- <https://docs.octave.org/v11.1.0/Preface.html>
- <https://octave.org/about>
- <https://wiki.octave.org/FAQ>
- source_facts.config-file-location
- source_facts.executables
- source_facts.package-manager


## Security Notes

narrow executable package without higher-risk signals.

- **Geiger risk:** green / low
- narrow executable package without higher-risk signals


## Configuration and credential file locations

These source-backed paths show where this package keeps local settings or durable credentials. Automic Vault can use them as review targets for secret scanning, migration, and command approval.


## Configuration files

- Unix: <octave-home>/share/octave/site/m/startup/octaverc, <octave-home>/share/octave/<version>/m/startup/octaverc, <config-dir>/octave/octaverc, ~/.octaverc, .octaverc, startup.m
## Source Database Details

- **Source Database:** Homebrew formula API
- **Tap:** homebrew/core
- **Full Name:** octave
- **Version Scheme:** 0
- **Revision:** 1
- **Head Version:** HEAD
- **Bottle Stable Root URL:** <https://ghcr.io/v2/homebrew/core>
- **Deprecated:** no
- **Disabled:** no
- **Keg Only:** no
- **URL Keys:** head, stable

## Other Package-Manager Records

- Debian apt - octave - 9.4.0-1: normalized package name match | Debian stable package indexes: octave from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | GNU Octave language for numerical computations | https://www.octave.org/
- Debian apt - octave-common - 9.4.0-1: normalized package name match | Debian stable package indexes: octave-common from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | architecture-independent files for octave | https://www.octave.org/
- Debian apt - octave-dev - 9.4.0-1: normalized package name match | Debian stable package indexes: octave-dev from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | development files for the GNU Octave language | https://www.octave.org/
- Debian apt - octave-doc - 9.4.0-1: normalized package name match | Debian stable package indexes: octave-doc from https://deb.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz | documentation of the GNU Octave language | https://www.octave.org/
- Nix - octave: normalized package name match | nixpkgs package indexes: octave from https://raw.githubusercontent.com/NixOS/nixpkgs/master/pkgs/top-level/all-packages.nix
- Ubuntu apt - octave - 8.4.0-1build5: normalized package name match | Ubuntu 24.04 LTS package indexes: octave from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | GNU Octave language for numerical computations | https://www.octave.org/
- Ubuntu apt - octave-common - 8.4.0-1build5: normalized package name match | Ubuntu 24.04 LTS package indexes: octave-common from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | architecture-independent files for octave | https://www.octave.org/
- Ubuntu apt - octave-dev - 8.4.0-1build5: normalized package name match | Ubuntu 24.04 LTS package indexes: octave-dev from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | development files for the GNU Octave language | https://www.octave.org/
- Ubuntu apt - octave-doc - 8.4.0-1build5: normalized package name match | Ubuntu 24.04 LTS package indexes: octave-doc from https://archive.ubuntu.com/ubuntu/dists/noble/universe/binary-amd64/Packages.gz | documentation of the GNU Octave language | https://www.octave.org/
- apk - octave - 11.1.0-r0: normalized package name match | Alpine Linux edge package indexes: octave from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | High-level language for numerical computations | https://octave.org/
- apk - octave-dev - 11.1.0-r0: normalized package name match | Alpine Linux edge package indexes: octave-dev from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | High-level language for numerical computations (development files) | https://octave.org/
- apk - octave-doc - 11.1.0-r0: normalized package name match | Alpine Linux edge package indexes: octave-doc from https://dl-cdn.alpinelinux.org/alpine/edge/community/x86_64/APKINDEX.tar.gz | High-level language for numerical computations (documentation) | https://octave.org/
- dnf - octave - 11.3.0-1.fc45: normalized package name match | Fedora Rawhide package metadata: octave from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | A high-level language for numerical computations | http://www.octave.org
- dnf - octave-devel - 11.3.0-1.fc45: normalized package name match | Fedora Rawhide package metadata: octave-devel from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Development headers and files for Octave | http://www.octave.org
- dnf - octave-doc - 11.3.0-1.fc45: normalized package name match | Fedora Rawhide package metadata: octave-doc from https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/repodata/e5ca8ce900cd68f5419e1c39ae517343100b306336cbaeb70a3c153121d95094-primary.xml.zst | Documentation for Octave | http://www.octave.org
- pacman - octave - 11.3.0-1: normalized package name match | Arch Linux sync databases: octave from https://geo.mirror.pkgbuild.com/extra/os/x86_64/extra.db.tar.gz | A high-level language, primarily intended for numerical computations | https://www.gnu.org/software/octave/


## Related links

- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Language runtime packages](https://www.automicvault.com/pkg/language-runtime-packages/) - Matched language runtime, compiler, or interpreter metadata.
- [Networking and protocol packages](https://www.automicvault.com/pkg/networking-protocol-tools/) - Matched network, protocol, or remote-service metadata.
- [Scientific computing packages](https://www.automicvault.com/pkg/scientific-computing-tools/) - Matched scientific computing metadata.
- [epstool](https://www.automicvault.com/pkg/brew/epstool/) - Runtime dependency declared by Homebrew.
- [fftw](https://www.automicvault.com/pkg/brew/fftw/) - Runtime dependency declared by Homebrew.
- [fig2dev](https://www.automicvault.com/pkg/brew/fig2dev/) - Runtime dependency declared by Homebrew.
- [fltk](https://www.automicvault.com/pkg/brew/fltk/) - Runtime dependency declared by Homebrew.
- [fontconfig](https://www.automicvault.com/pkg/brew/fontconfig/) - Runtime dependency declared by Homebrew.
- [freetype](https://www.automicvault.com/pkg/brew/freetype/) - Runtime dependency declared by Homebrew.
- [gcc](https://www.automicvault.com/pkg/brew/gcc/) - Runtime dependency declared by Homebrew.
- [gnu-sed](https://www.automicvault.com/pkg/brew/gnu-sed/) - Build dependency declared by Homebrew.
- [openjdk](https://www.automicvault.com/pkg/brew/openjdk/) - Build dependency declared by Homebrew.
- [pkgconf](https://www.automicvault.com/pkg/brew/pkgconf/) - Build dependency declared by Homebrew.
- [dynare](https://www.automicvault.com/pkg/brew/dynare/) - Popular package that depends on this formula.
- [gsl](https://www.automicvault.com/pkg/brew/gsl/) - Shares av.db curated category or tags: cli, numerical-computing, science, scientific-computing.
- [ibex](https://www.automicvault.com/pkg/brew/ibex/) - Shares av.db curated category or tags: cli, numerical-computing, science.
- [clblas](https://www.automicvault.com/pkg/brew/clblas/) - Shares av.db curated category or tags: cli, numerical-computing, science.
- [clblast](https://www.automicvault.com/pkg/brew/clblast/) - Shares av.db curated category or tags: cli, numerical-computing, science.
- [flexiblas](https://www.automicvault.com/pkg/brew/flexiblas/) - Shares av.db curated category or tags: cli, numerical-computing, science.
- [itpp](https://www.automicvault.com/pkg/brew/itpp/) - Shares av.db curated category or tags: cli, numerical-computing, science.
- [numbat](https://www.automicvault.com/pkg/brew/numbat/) - Shares av.db curated category or tags: cli, programming-language, science, scientific-computing.
- [numpy](https://www.automicvault.com/pkg/brew/numpy/) - Shares av.db curated category or tags: cli, numerical-computing, science, scientific-computing.
- [root](https://www.automicvault.com/pkg/brew/root/) - Local package facts share a topical domain. Shared terms: cli, computing, config, fftw, freetype.

## Combined YAML source

View the package source record on GitHub. [combined/octave.yml](https://github.com/automic-vault/db/blob/main/combined/octave.yml)


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated configuration and credential file locations
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- external package-manager database matches
- cross-ecosystem install command graph
