| 
									
										
										
										
											2019-07-28 04:04:53 -06:00
										 |  |  | # [pathman](https://git.rootprojects.org/root/pathman)
 | 
					
						
							| 
									
										
										
										
											2019-07-22 04:21:08 +00:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-07-28 04:04:53 -06:00
										 |  |  | Manage PATH on Windows, Mac, and Linux with various Shells | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ```bash | 
					
						
							|  |  |  | pathman list | 
					
						
							|  |  |  | pathman add ~/.local/bin | 
					
						
							|  |  |  | pathman remove ~/.local/bin | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Windows: stores PATH in the registry. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Mac & Linux: stores PATH in `~/.config/envman/PATH.sh` | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-07-28 04:14:29 -06:00
										 |  |  | ## Downloads
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ### MacOS
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | MacOS (darwin): [64-bit Download ](https://rootprojects.org/pathman/dist/darwin/amd64/pathman) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | curl https://rootprojects.org/pathman/dist/darwin/amd64/pathman -o pathman | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ### Windows
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <details> | 
					
						
							|  |  |  | <summary>See download options</summary> | 
					
						
							|  |  |  | 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 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | **Debug version**: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | powershell.exe $ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest https://rootprojects.org/pathman/dist/windows/amd64/pathman.debug.exe -OutFile pathman.debug.exe | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Windows 7: [32-bit Download](https://rootprojects.org/pathman/dist/windows/386/pathman.exe) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | powershell.exe "(New-Object Net.WebClient).DownloadFile('https://rootprojects.org/pathman/dist/windows/386/pathman.exe', 'pathman.exe')" | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | **Debug version**: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | powershell.exe "(New-Object Net.WebClient).DownloadFile('https://rootprojects.org/pathman/dist/windows/386/pathman.debug.exe', 'pathman.debug.exe')" | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | </details> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ### Linux
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <details> | 
					
						
							|  |  |  | <summary>See download options</summary> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Linux (64-bit): [Download](https://rootprojects.org/pathman/dist/linux/amd64/pathman) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | curl https://rootprojects.org/pathman/dist/linux/amd64/pathman -o pathman | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | Linux (32-bit): [Download](https://rootprojects.org/pathman/dist/linux/386/pathman) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | curl https://rootprojects.org/pathman/dist/linux/386/pathman -o pathman | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | </details> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ### Raspberry Pi (Linux ARM)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | <details> | 
					
						
							|  |  |  | <summary>See download options</summary> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | RPi 4 (64-bit armv8): [Download](https://rootprojects.org/pathman/dist/linux/armv8/pathman) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | curl https://rootprojects.org/pathman/dist/linux/armv8/pathman -o pathman` | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | RPi 3 (armv7): [Download](https://rootprojects.org/pathman/dist/linux/armv7/pathman) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | curl https://rootprojects.org/pathman/dist/linux/armv7/pathman -o pathman | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ARMv6: [Download](https://rootprojects.org/pathman/dist/linux/armv6/pathman) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | curl https://rootprojects.org/pathman/dist/linux/armv6/pathman -o pathman | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | RPi Zero (armv5): [Download](https://rootprojects.org/pathman/dist/linux/armv5/pathman) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | curl https://rootprojects.org/pathman/dist/linux/armv5/pathman -o pathman | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | </details> | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ### Add to PATH
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | **Windows** | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | mkdir %userprofile%\bin | 
					
						
							|  |  |  | move pathman.exe %userprofile%\bin\pathman.exe | 
					
						
							|  |  |  | %userprofile%\bin\pathman.exe ~\bin | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | **All Others** | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | chmod a+x ./pathman | 
					
						
							|  |  |  | mkdir -p ~/.local/bin | 
					
						
							|  |  |  | mv ./pathman ~/.local/bin | 
					
						
							|  |  |  | pathman add ~/.local/bin | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-07-28 04:04:53 -06:00
										 |  |  | # add
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ```bash | 
					
						
							|  |  |  | pathman add ~/.local/bin | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ```txt | 
					
						
							|  |  |  | Saved PATH changes. To set the PATH immediately, update the current session: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	export PATH="/Users/me/.local/bin:$PATH" | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # remove
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ```bash | 
					
						
							|  |  |  | pathman remove ~/.local/bin | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ```txt | 
					
						
							|  |  |  | Saved PATH changes. To set the PATH immediately, update the current session: | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	export PATH="/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin" | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # list
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ```bash | 
					
						
							|  |  |  | pathman list | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ```txt | 
					
						
							|  |  |  | 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%`. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ```bash | 
					
						
							|  |  |  | pathman add ~\.local\bin | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | The registry will be used, even when your using Node Bash, Git Bash, or MINGW. | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | # build
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ```bash | 
					
						
							|  |  |  | git clone https://git.rootprojects.org/root/pathman.git | 
					
						
							|  |  |  | ``` | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | ```bash | 
					
						
							|  |  |  | go mod tidy | 
					
						
							|  |  |  | go mod vendor | 
					
						
							|  |  |  | go generate -mod=vendor ./... | 
					
						
							|  |  |  | go build -mod=vendor | 
					
						
							|  |  |  | ./pathman list | 
					
						
							|  |  |  | ``` |