# Install opal with Homebrew

Ruby to JavaScript transpiler. Version 1.8.3 via Homebrew; verified 2026-06-22.

## Install

```sh
sudo av install brew:opal
```

Additional install commands:

### macOS

- Homebrew (100%):

```sh
brew install opal
```

  Evidence: local Homebrew formula metadata

## Package facts

- **Package key:** brew:opal
- **Package manager:** Homebrew
- **Package manager page:** <https://formulae.brew.sh/formula/opal>
- **Version:** 1.8.3
- **Source summary:** Ruby to JavaScript transpiler
- **Homepage:** <https://opalrb.com/>
- **Repository:** <https://github.com/opal/opal>
- **Upstream docs:** <https://github.com/opal/opal#readme>
- **License:** MIT
- **Source archive:** <https://github.com/opal/opal.git>
- **Last updated:** 2026-06-22T14:05:41-07:00
- **Generated:** 2026-07-08T07:18:31+00:00

## Executables

- opal (cli)
- opal-build (cli)
- opal-repl (cli)
- opal (alias)
- opal-build (alias)
- opal-repl (alias)

## Dependencies

- ruby

## 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: 1.8.3
- Package-manager updated: 2026-06-22
- Local data: ok
- Upstream repository: https://github.com/opal/opal
- info: No cached GitHub release or tag data was available.
## Project history and usage

Opal is a Ruby-to-JavaScript source-to-source compiler with a Ruby core library and standard-library subset implemented for JavaScript runtimes. It sits in the compile-to-JavaScript lineage, but its package-nerd identity is unusually Ruby-centric: developers install it as a Ruby gem, write Ruby, and emit JavaScript for browsers, Node.js, and other JavaScript environments.

### Project history

RubyGems records Opal versions back to January 22, 2010, and the project reached the 1.0.0 milestone on May 12, 2019 after years of production use and compatibility work. The 1.0 release emphasized a redesigned class and module hierarchy that more closely followed MRI Ruby, support for Module.prepend, better source maps, improved errors, and broader Ruby 2.4/2.5 feature coverage.

Later 1.x releases continued the same theme: Opal 1.2 described the project as a Ruby compiler, runtime, and idiomatic Ruby API for Browser, Node, and other JavaScript environments, and announced near-complete Ruby 3.0 feature support. Opal 1.6 focused on MRI compatibility, freezing, control-flow correctness, Windows improvements, parallel compilation, and Opal-RSpec 1.0.

### Adoption history

Opal's adoption path has been through Ruby's packaging and web-application ecosystem rather than through npm-first JavaScript tooling. Its official site links Rack, Rails, CLI, and library guides, and the README points developers toward Rails, jQuery, Sinatra, Rack, CDN, and related usage patterns.

The project has been distributed as the opal RubyGem for more than a decade, with RubyGems listing more than one hundred published versions. That long gem history is important for packagers because it shows Opal evolving as a Ruby ecosystem package while targeting JavaScript as the runtime artifact.

### How it is used

Developers use the opal CLI to compile Ruby source into JavaScript, or use Opal.compile and Opal::Builder from Ruby code to generate runtime bundles and applications. The README also documents browser-side use through opal-parser and script tags that evaluate Ruby code inside an HTML page.

The package is useful when a team wants Ruby syntax, Ruby libraries that can run under Opal's compatibility subset, or Ruby DSLs on the front end without switching entirely to JavaScript. The tradeoff is that compatibility with MRI Ruby is an ongoing engineering project, so users often care about the exact Opal version and supported Ruby feature set.

### Why package nerds care

Opal is a tidy example of a language package whose install surface and target runtime are different ecosystems. For package nerds, it raises familiar questions about transitive Ruby dependencies, generated JavaScript artifacts, CDN distribution, source maps, browser support, and compatibility claims across Ruby and JavaScript versions.

Its executables, opal, opal-build, and opal-repl, make it feel like a compiler toolchain inside Homebrew even though many users encounter it first as a gem. That dual identity is the interesting bit: package managers expose it as a CLI, while application developers often treat it as a build-stage bridge.

### Timeline

- 2010: RubyGems lists the first opal gem versions.
- 2013: the GitHub project license notice covers Adam Beynon and Opal contributors from 2013 onward.
- 2019: Opal 1.0.0 was released with major runtime and compatibility changes.
- 2021: Opal 1.2 announced broad Ruby 3.0 feature support.
- 2022: Opal 1.6 and Opal-RSpec 1.0 improved MRI compatibility, testing, and compile performance.

### Related projects

- Opal's related ecosystem includes opal-browser, Opal-RSpec, Rack/Rails integration, and JavaScript library ports that let Ruby code interact with browser and Node APIs. The project also depends conceptually on MRI Ruby behavior and parser compatibility, because much of its value comes from matching Ruby semantics while producing JavaScript.

### Sources

- <https://github.com/opal/opal>
- <https://opalrb.com/>
- <https://opalrb.com/blog/2019/05/12/opal-1-0/>
- <https://opalrb.com/blog/2021/08/09/opal-1-2/>
- <https://opalrb.com/blog/2022/11/24/opal-1-6-opal-rspec-1-0/>
- <https://rubygems.org/gems/opal/versions>
- source_facts.executables
- source_facts.package-manager


## Security Notes

generalized runtime or code generation signal.

- **Geiger risk:** yellow / medium
- generalized runtime or code generation signal

## Source Database Details

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


## Related links

- [Package publisher tools](https://www.automicvault.com/pkg/package-publishers/) - Belongs to a package publishing or registry command family.
- [Secret-risk packages](https://www.automicvault.com/pkg/secret-risk-packages/) - Has protected-tool coverage, approval-gate, or non-low Geiger security signals.
- [Terminal utility packages](https://www.automicvault.com/pkg/terminal-utilities/) - Matched terminal and command-line workflow metadata.
- [Developer build packages](https://www.automicvault.com/pkg/developer-build-tools/) - Matched build, compiler, generator, or developer workflow metadata.
- [ruby](https://www.automicvault.com/pkg/brew/ruby/) - Runtime dependency declared by Homebrew.
- [jruby](https://www.automicvault.com/pkg/brew/jruby/) - Shares av.db curated category or tags: cli, language-runtime, ruby.
- [mruby](https://www.automicvault.com/pkg/brew/mruby/) - Shares av.db curated category or tags: cli, language-runtime, ruby.
- [picoruby](https://www.automicvault.com/pkg/brew/picoruby/) - Shares av.db curated category or tags: cli, language-runtime, ruby.
- [rbenv-aliases](https://www.automicvault.com/pkg/brew/rbenv-aliases/) - Shares av.db curated category or tags: cli, language-runtime, ruby.
- [ruby-build](https://www.automicvault.com/pkg/brew/ruby-build/) - Shares av.db curated category or tags: cli, language-runtime, ruby.
- [ruby-install](https://www.automicvault.com/pkg/brew/ruby-install/) - Shares av.db curated category or tags: cli, language-runtime, ruby.
- [clojurescript](https://www.automicvault.com/pkg/brew/clojurescript/) - Shares av.db curated category or tags: cli, compiler, javascript, language-runtime.
- [coffeescript](https://www.automicvault.com/pkg/brew/coffeescript/) - Shares av.db curated category or tags: cli, compiler, javascript, language-runtime.

## Combined YAML source

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


## Sources

- Nucleus package database
- Geiger risk classifier
- package-page enrichment
- curated package history
- package version freshness
- av.db category and tag curation
- package relationship graph
- cross-ecosystem install command graph
