Manage PATH on Windows, Mac, and Linux with various Shells
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
AJ ONeal 472d7bda0f add webinstall instructions and Windows 10 notes 3 days ago
envpath bugfixes for windows and git bash 11 months ago
npm bugfix console.error 11 months ago
tools v0.5.0: initial publishable version 11 months ago
vendor add deps 11 months ago
winpath bugfixes for windows and git bash 11 months ago
.gitignore go generate version 11 months ago
LICENSE Initial commit 11 months ago
README.md add webinstall instructions and Windows 10 notes 3 days ago
build-all.sh remove debug version references 11 months ago
go.mod v0.5.0: initial publishable version 11 months ago
go.sum v0.5.0: initial publishable version 11 months ago
pathman.go bugfixes for windows and git bash 11 months ago
pathman_unixes.go bugfixes for windows and git bash 11 months ago
pathman_windows.go bugfixes for windows and git bash 11 months ago

README.md

pathman

Manage PATH on Windows 10, Mac, and Linux with various Shells

pathman list
pathman add ~/.local/bin
pathman remove ~/.local/bin
pathman version
pathman help

Where is the PATH managed?

  • Windows 10: stores PATH in the registry.
  • Mac & Linux: stores PATH in ~/.config/envman/PATH.env

Note for Windows 10 users: due to differences in how cmd.exe, PowerShell, and pathman use and interpret strings, spaces, paths, and variables, you’ll get more consistent results if you:

  • Use ~ rather than %USERPROFILE% or $Env:USERPROFILE
  • Use / rather than \ for delimiting paths

Install

Mac, Linux:

curl -s https://webinstall.dev/pathman | bash

Windows 10:

This can be run from cmd.exe or PowerShell (curl.exe is a native part of Windows 10).

curl.exe -sA "MS" https://webinstall.dev/pathman | powershell

Manual Install

  1. Download
  2. Add to PATH

Or install via npm:

npm install -g pathman

Windows

mkdir %userprofile%\bin
move pathman.exe %userprofile%\bin\pathman.exe
%userprofile%\bin\pathman.exe add ~/bin

Mac, Linux, etc

mkdir -p ~/.local/bin
mv ./pathman ~/.local/bin
pathman add ~/.local/bin

Downloads

MacOS

MacOS (darwin): 64-bit Download

curl https://rootprojects.org/pathman/dist/darwin/amd64/pathman -o pathman
chmod +x ./pathman

Windows

See download options Windows 10: [64-bit Download](https://rootprojects.org/pathman/dist/windows/amd64/pathman.exe)
powershell.exe $ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest https://rootprojects.org/pathman/dist/windows/amd64/pathman.exe -OutFile pathman.exe

Windows 7: 32-bit Download

powershell.exe "(New-Object Net.WebClient).DownloadFile('https://rootprojects.org/pathman/dist/windows/386/pathman.exe', 'pathman.exe')"

Linux

See download options

Linux (64-bit): Download

curl https://rootprojects.org/pathman/dist/linux/amd64/pathman -o pathman
chmod +x ./pathman

Linux (32-bit): Download

curl https://rootprojects.org/pathman/dist/linux/386/pathman -o pathman
chmod +x ./pathman

Raspberry Pi (Linux ARM)

See download options

RPi 4 (64-bit armv8): Download

curl https://rootprojects.org/pathman/dist/linux/armv8/pathman -o pathman`
chmod +x ./pathman

RPi 3 (armv7): Download

curl https://rootprojects.org/pathman/dist/linux/armv7/pathman -o pathman
chmod +x ./pathman

ARMv6: Download

curl https://rootprojects.org/pathman/dist/linux/armv6/pathman -o pathman
chmod +x ./pathman

RPi Zero (armv5): Download

curl https://rootprojects.org/pathman/dist/linux/armv5/pathman -o pathman
chmod +x ./pathman

CLI Help (API)

add

pathman add ~/.local/bin
Saved PATH changes. To set the PATH immediately, update the current session:

	export PATH="/Users/me/.local/bin:$PATH"

remove

pathman remove ~/.local/bin
Saved PATH changes. To set the PATH immediately, update the current session:

	export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"

list

pathman list
pathman-managed PATH entries:

	$HOME/.local/bin

other PATH entries:

	/usr/local/bin
	/usr/bin
	/bin
	/usr/sbin
	/sbin

Windows

You can use ~ as a shortcut for %USERPROFILE%.

pathman add ~\.local\bin

The registry will be used, even when your using Node Bash, Git Bash, or MINGW.

build

git clone https://git.rootprojects.org/root/pathman.git
go mod tidy
go mod vendor
go generate -mod=vendor ./...
go build -mod=vendor
./pathman list