Installing Packages
Installing is the core of Forest: one command that downloads a package and everything it depends on into your project, at versions that are resolved together and locked for reproducibility.
$forest install [package-name]aliasesforest iforest growInstalling a package records it in your forest.json manifest and pins the exact resolved versions in forest-lock.json, so a teammate (or CI) running forest install with no arguments gets the identical tree. Transitive dependencies come along automatically: a package always finds its own dependencies without any configuration from you.
$ forest i forest/signal🌳 Installed forest/signal@2.4.2 (+3 dependencies)
Useful variations:
forest installwith no name installs everything inforest.json, offering to create a bare manifest if the folder doesn’t have one yet.-v <version>installs a specific version instead of the latest.-a <alias>installs the package under an alias, which is how you hold two major versions of the same package side by side.
Per-platform mechanics
What “installed” looks like on disk, and how your code consumes a package, differs by platform:
- Roblox: packages land in a
Packages/folder yourequirethrough generated entry modules. You decide where that folder mounts in the DataModel, including the two-manifest pattern for server-only code. See Installing on Roblox. - UEFN: packages install as Verse files inside your project that you import with
using. See Installing on UEFN.
Going deeper
- Dependencies & Versioning for range syntax and how resolution works.
forest installreference for every flag.forest removeandforest treefor managing what’s installed.
Last updated on