Manage packages¶
Everything installable in Nodos is a package: plugins, subsystems, engines, SDKs, and generic
artifacts. nodos installs them from the Nodos Store into the current workspace.
All commands here run from a workspace root. Full flag listings are in the nodos CLI reference.
Find something to install¶
Narrow to one package's versions:
See what is already in the workspace:
Install a package¶
The version argument is a minimum within a minor line, not an exact pin. 8.0 means "any
8.0.x, and if none is installed, fetch the latest 8.0.x". This is usually what you want, since
patch releases within a minor version are compatible.
To pin exactly:
Dependencies are resolved and installed too. --without-deps skips that, which is occasionally
useful when you are managing versions by hand and rarely otherwise.
By default packages land in <package_type>/Downloaded/<name>/<version>. Override with
--out-dir and --prefix if you need a specific layout.
Inspect a package¶
This prints JSON, so it composes with other tooling:
Add --relaxed to accept any version within the given minor line rather than requiring an exact
match.
To inspect an SDK rather than a module:
The second argument is one of engine, plugin, subsystem or process. This is the command to
use in a build system that needs an SDK's include directory — see
Connect an external application.
Remove a package¶
Removal requires an exact version, because a workspace can legitimately hold several.
Refresh the index¶
After adding, removing or editing modules on disk by hand, the workspace index goes stale:
Commands that look up node classes or package metadata read this index, so run it whenever the filesystem and the index might have diverged.
Bundles¶
nodos get fetches an engine bundle rather than an individual package:
Warning
This replaces the workspace's Nodos release and removes all installed engines. Use
--clean-modules to also clear modules, and -y to skip the confirmation prompt.
Available bundles are listed in Install Nodos.
A bundle can pin a private package. The store marks such members on the bundle's page, and
installing the bundle needs access to them: nodos get stops before writing anything and names
the members you cannot reach, so ask their owner for a grant and run it again.
Authenticate for private packages¶
Public packages need no authentication. Private ones — restricted to your namespace or explicitly granted accounts — need a token:
This uses a device flow: it prints a code, you approve it in a browser. The token persists in the workspace until:
Add a dependency to your own package¶
To record that your plugin depends on another module, edit its manifest, or let the CLI do it:
The version suffix is optional. See Depend on another module for the C++ side, which is the part that actually matters.