:warning: This project is in an experimentation stage and not intended for serious use! :warning:
Important
nupm
might use the latest Nushell language features that have not been released in the latest version yet. If that is the case, consider building Nushell from themain
branch, or installing the nightly build.
nupm
is a module. Download the repository and treat the nupm
directory as a module. For example:
use nupm/
overlay use nupm/ --prefix
Both of the above commands will make nupm
and all its subcommands available in your current scope. overlay use
will allow you to overlay hide
the nupm
overlay when you don't need it.Note
nupm
is able to install itself: from inside the root of your local copy ofnupm
, runuse nupm/ nupm install --force --path .
One can change the location of the Nupm directory with $env.NUPM_HOME
, e.g.
# env.nu
$env.NUPM_HOME = ($env.XDG_DATA_HOME | path join "nupm")
Because Nupm will install modules and scripts in {{nupm-home}}/modules/
and {{nupm-home}}/scripts/
respectively, it is a good idea to add these paths to $env.NU_LIB_DIRS
and $env.PATH
respectively, e.g. if you have $env.NUPM_HOME
defined:
# env.nu
$env.NU_LIB_DIRS = [
...
($env.NUPM_HOME | path join "modules")
]
$env.PATH = (
$env.PATH
| split row (char esep)
| ....
| prepend ($env.NUPM_HOME | path join "scripts")
| uniq
)
as it is done in Nupm, one can define tests in a project and run them with the nupm test
command:
nupm.nuon
file, let's call this example package package
tests/
directory next to the package/
directorytests/
is a regular Nushell directory module, put a mod.nu
there and any structure you wantuse ../package/foo/bar.nu [baz, brr]
tests/
module and export
ed will run as testsnupm test
from the root of Nupm, run
nupm test
you should see something like
Testing package /home/amtoine/documents/repos/github.com/amtoine/nupm
tests install-module ... SUCCESS
tests install-script ... SUCCESS
tests install-custom ... SUCCESS
Ran 3 tests. 3 succeeded, 0 failed.
nupm
[toc]please have a look at the design document