Install NME on Windows, macOS, and Linux
NME 0.0.1-beta.160 currently installs from the beta branch. You need Git,
stable Rust with Cargo, and Python 3.8 or newer. Use the official
Rust installer,
Python downloads, and
Git downloads. Pick your operating system
below; each section is complete on its own.
Windows 11
- Install Git for Windows.
- Install Python from python.org. Keep the Python launcher (
py) enabled. - Download and run
rustup-init.exefrom the official Rust install page. Accept the stable MSVC toolchain. If asked, install Visual Studio C++ Build Tools (free Microsoft components Cargo needs to build). - Close and reopen PowerShell, then run. To use
nme native, open the Developer PowerShell for Visual Studio socl.exeis onPATH; ordinary PowerShell is enough for the CPython commands:
git clone --branch beta https://github.com/needmoretruth/needmoreeasy.git
cd needmoreeasy
cargo install --path crates/nme-cli --locked
$env:Path = "$HOME\.cargo\bin;$env:Path"
nme --version
Expected NME version: 0.0.1-beta.160. The $env:Path line makes the
just-installed command available in the current PowerShell session.
Set up PATH for future terminals. If a new PowerShell still cannot find
nme, add %USERPROFILE%\.cargo\bin to your user PATH. You do not need to
reinstall; & "$HOME\.cargo\bin\nme.exe" --version verifies the installed
binary directly.
First NME run (from the needmoreeasy folder where you cloned the
repository). NME chooses the Windows py launcher automatically:
nme run examples\hello-sentence
Common errors.
nmeis not recognized:~\.cargo\binis not on your userPATH. Add%USERPROFILE%\.cargo\binthere, or confirm the binary exists with& "$HOME\.cargo\bin\nme.exe" --version.- The Cargo build fails with a link or compiler error: the Visual Studio C++
Build Tools from step 3 are missing. Run
rustup-init.exeagain and choose to install them. nme runcannot find Python: Python 3.8 or newer must be installed with the Python launcher (py) enabled (step 2).
Windows 10
Windows 10 uses the same install as Windows 11. The complete steps are repeated here so this section can be followed on its own:
- Install Git for Windows.
- Install Python from python.org. Keep the Python launcher (
py) enabled. - Download and run
rustup-init.exefrom the official Rust install page. Accept the stable MSVC toolchain. If asked, install Visual Studio C++ Build Tools (free Microsoft components Cargo needs to build). - Close and reopen PowerShell, then run. To use
nme native, open the Developer PowerShell for Visual Studio socl.exeis onPATH; ordinary PowerShell is enough for the CPython commands:
git clone --branch beta https://github.com/needmoretruth/needmoreeasy.git
cd needmoreeasy
cargo install --path crates/nme-cli --locked
$env:Path = "$HOME\.cargo\bin;$env:Path"
nme --version
Expected NME version: 0.0.1-beta.160. The $env:Path line makes the
just-installed command available in the current PowerShell session.
Set up PATH for future terminals. If a new PowerShell still cannot find
nme, add %USERPROFILE%\.cargo\bin to your user PATH. You do not need to
reinstall; & "$HOME\.cargo\bin\nme.exe" --version verifies the installed
binary directly.
First NME run (from the needmoreeasy folder where you cloned the
repository). NME chooses the Windows py launcher automatically:
nme run examples\hello-sentence
Common errors.
nmeis not recognized:~\.cargo\binis not on your userPATH. Add%USERPROFILE%\.cargo\binthere, or confirm the binary exists with& "$HOME\.cargo\bin\nme.exe" --version.- The Cargo build fails with a link or compiler error: the Visual Studio C++
Build Tools from step 3 are missing. Run
rustup-init.exeagain and choose to install them. nme runcannot find Python: Python 3.8 or newer must be installed with the Python launcher (py) enabled (step 2).
Older Windows (7 and 8)
The official path is Windows 10 or 11. Current versions of the rustup installer and the Visual Studio C++ Build Tools require Windows 10 or newer, so building the NME command-line tool from source is not supported on Windows 7 or 8.
What still works: NME programs become plain Python, and Python 3.8 is the newest Python that runs on Windows 7 and 8. A program built on a Windows 10/11 machine can be copied to a Windows 7/8 machine and run with that Python. The NME command-line tool itself needs Windows 10 or 11.
macOS
Install Git through Xcode Command Line Tools when needed:
xcode-select --install
Install a current Python from python.org, then install Rust with the command
shown on the official rustup page. The same steps work on both Intel and
Apple Silicon (M-series) Macs; the python.org installer covers both. Open a
new Terminal and run (from the needmoreeasy folder where you cloned the
repository):
git clone --branch beta https://github.com/needmoretruth/needmoreeasy.git
cd needmoreeasy
cargo install --path crates/nme-cli --locked
export PATH="${CARGO_HOME:-$HOME/.cargo}/bin:$PATH"
nme --version
Expected NME version: 0.0.1-beta.160. The export line must run before the
first nme command when Cargo warns that its binary directory is not on
PATH.
Set up PATH for future terminals. To keep the export line for future
terminals, add it to ~/.zshrc (the default macOS shell) or your shell's
profile. If Rust was installed with rustup, this equivalent command may
already exist:
source "$HOME/.cargo/env"
First NME run:
nme run examples/hello-sentence
Common errors.
nmeis not found in a new Terminal: theexportline is not saved yet. Add it to~/.zshrcor your shell's profile.- The Cargo build fails with a compiler error: Xcode Command Line Tools are
missing. Run
xcode-select --installand try again.
Debian and Ubuntu
Install Python, Git, a C build toolchain, and curl with apt, then install
stable Rust with rustup (the command shown on the official rustup page):
sudo apt install python3 python3-pip git curl build-essential
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
python3-pip is needed only for the optional Nuitka step below. Open a new
shell, then run (from the needmoreeasy folder where you cloned the
repository):
git clone --branch beta https://github.com/needmoretruth/needmoreeasy.git
cd needmoreeasy
cargo install --path crates/nme-cli --locked
export PATH="${CARGO_HOME:-$HOME/.cargo}/bin:$PATH"
nme --version
Expected NME version: 0.0.1-beta.160. The export line is deliberately
before nme --version.
First NME run:
nme run examples/hello-sentence
Set up PATH for future terminals. If nme is not found in a new
terminal, add the export line to ~/.bashrc, ~/.zshrc, or the profile used
by your shell. Package-manager Cargo installations can install the binary
successfully to ~/.cargo/bin without adding that directory to the shell's
PATH; verify the install directly with
"${CARGO_HOME:-$HOME/.cargo}/bin/nme" --version.
Common errors.
nmeis not found: add the export line to~/.bashrc(or your shell's profile) and open a new terminal.cargoorrustupis not found right after the rustup command: the current shell was opened before the install. Open a new shell or runsource "$HOME/.cargo/env".- The optional Nuitka step reports "No module named pip": install
python3-pip(it is included in the install command above).
Fedora
Install Python, Git, a C build toolchain, and curl with dnf, then install
stable Rust with rustup (the command shown on the official rustup page):
sudo dnf install python3 python3-pip git curl gcc
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
python3-pip is needed only for the optional Nuitka step below. Open a new
shell, then run (from the needmoreeasy folder where you cloned the
repository):
git clone --branch beta https://github.com/needmoretruth/needmoreeasy.git
cd needmoreeasy
cargo install --path crates/nme-cli --locked
export PATH="${CARGO_HOME:-$HOME/.cargo}/bin:$PATH"
nme --version
Expected NME version: 0.0.1-beta.160. The export line is deliberately
before nme --version.
First NME run:
nme run examples/hello-sentence
Set up PATH for future terminals. Fedora's system cargo, and some other
package-manager installations, can install the binary successfully to
~/.cargo/bin without adding that directory to the shell's PATH. If needed,
verify the install directly with
"${CARGO_HOME:-$HOME/.cargo}/bin/nme" --version, then add the export line to
~/.bashrc, ~/.zshrc, or the profile used by your shell.
Common errors.
nmeis not found: add the export line to~/.bashrc(or your shell's profile) and open a new terminal.cargoorrustupis not found right after the rustup command: the current shell was opened before the install. Open a new shell or runsource "$HOME/.cargo/env".- The optional Nuitka step reports "No module named pip": install
python3-pip(it is included in the install command above).
Arch Linux
Install Python, Git, a C build toolchain, and curl with pacman, then install
stable Rust with rustup (the command shown on the official rustup page):
sudo pacman -S python python-pip git curl base-devel
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
python-pip is needed only for the optional Nuitka step below. Open a new
shell, then run (from the needmoreeasy folder where you cloned the
repository):
git clone --branch beta https://github.com/needmoretruth/needmoreeasy.git
cd needmoreeasy
cargo install --path crates/nme-cli --locked
export PATH="${CARGO_HOME:-$HOME/.cargo}/bin:$PATH"
nme --version
Expected NME version: 0.0.1-beta.160. The export line is deliberately
before nme --version.
First NME run:
nme run examples/hello-sentence
Set up PATH for future terminals. If nme is not found in a new
terminal, add the export line to ~/.bashrc, ~/.zshrc, or the profile used
by your shell. Package-manager Cargo installations can install the binary
successfully to ~/.cargo/bin without adding that directory to the shell's
PATH; verify the install directly with
"${CARGO_HOME:-$HOME/.cargo}/bin/nme" --version.
Common errors.
nmeis not found: add the export line to~/.bashrc(or your shell's profile) and open a new terminal.cargoorrustupis not found right after the rustup command: the current shell was opened before the install. Open a new shell or runsource "$HOME/.cargo/env".- The optional Nuitka step reports "No module named pip": install
python-pip(it is included in the install command above).
Verify the complete toolchain
nme --version
nme modules
nme check examples/three-levels
nme run examples/hello-sentence
Expected NME version: 0.0.1-beta.160. Expected random adapter: 0.0.1.
Advanced: choose a different Python command
NME automatically uses py on Windows and python3 elsewhere. Only unusual
setups need the advanced override:
nme run program --python python
nme compile program -o program --python python
On Windows, replace the final command with py.
Optional native executable
NME's normal build creates Python source and preserves complete Python
compatibility. compile uses the external Nuitka compiler to create a
standalone one-file artifact:
python3 -m pip install -U "Nuitka[app]"
python3 -m nuitka --version
nme compile examples/hello-sentence -o hello
Nuitka requires a platform C compiler and recommends testing standalone mode before one-file distribution for complex programs. NME's command uses one-file mode for the simplest handoff. Read the official Nuitka setup guide and user manual when your program includes data files or native packages.
Build on each target operating system; a Windows executable is not produced by running the command on macOS or Linux.
Update or uninstall
Update the beta checkout and reinstall:
git switch beta
git pull --ff-only
cargo install --path crates/nme-cli --locked --force
Remove the installed CLI:
cargo uninstall nme-cli
The binary command is nme, while the Cargo package name is nme-cli.