info
Documentation is currently for moon v2 and latest proto. Documentation for moon v1 has been frozen and can be found here.
pin
The proto pin <tool> <version> command will pin a version (or alias) of a tool. This version will
be used when attempting to detect a version.
$ proto pin go 1.20
$ proto pin python 3.14 --to=global
$ proto pin node lts --resolve
$ proto pin npm latest --resolve --tool-native
By default this will update the local ./.prototools file. Pass --to to customize
the location, or use the --tool-native option to use a location unique to the tool.
When a lockfile is in use, matching records will be migrated to the newly pinned specification. v0.60.0
The lockfile of the configuration file being modified is always kept in sync, even when another configuration file (like an environment configuration) takes precedence for that tool. v0.61.0
Arguments
<tool>- Type of tool.<version>- Version of tool.
Options
--resolve- Resolve the version to a fully-qualified semantic version before pinning.--tov0.41.0 - Location of.prototoolsto update. Supportsglobal,local, anduser.--tool-nativev0.55.0 - Pins the version in a tool specific location. Examples:- JavaScript tooling (Node, Bun, Deno, npm, pnpm, Yarn, etc) - Pins version in the
devEnginesfield in thepackage.jsonfile.
- JavaScript tooling (Node, Bun, Deno, npm, pnpm, Yarn, etc) - Pins version in the