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 months ago
envpath bugfixes for windows and git bash 1 year ago
npm bugfix console.error 1 year ago
tools v0.5.0: initial publishable version 1 year ago
vendor add deps 1 year ago
winpath bugfixes for windows and git bash 1 year ago
.gitignore go generate version 1 year ago
LICENSE Initial commit 1 year ago
README.md add webinstall instructions and Windows 10 notes 3 months ago
build-all.sh remove debug version references 1 year ago
go.mod v0.5.0: initial publishable version 1 year ago
go.sum v0.5.0: initial publishable version 1 year ago
pathman.go bugfixes for windows and git bash 1 year ago
pathman_unixes.go bugfixes for windows and git bash 1 year ago
pathman_windows.go bugfixes for windows and git bash 1 year 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