872a9d66c1ae8161bc1f2417900f9e96176ce1d0
[webi-installers/.git] / webi / README.md
1 ---
2 title: Webi
3 homepage: https://webinstall.dev
4 tagline: |
5   Webi is how developers install their tools.
6 ---
7
8 ## Updating `webi`
9
10 ```bash
11 webi webi
12 ```
13
14 Since `webi` is just a small helper script, it's always update on each use.
15
16 ## Cheat Sheet
17
18 > `webi` is what you would have created if you automated how you install your
19 > common tools yourself: Simple, direct downloads from official sources,
20 > unpacked into `~/.local`, added to `PATH`, symlinked for easy version
21 > switching, with minimal niceties like resuming downloads and 'stable' tags.
22
23 - Easy to remember.
24 - No magic, no nonesense, no bulk.
25 - What you would have done for yourself.
26
27 You can install _exactly_ what you need, from memory, via URL:
28
29 ```bash
30 curl https://webinstall.dev/node@lts | bash
31 ```
32
33 Or via `webi`, the tiny `curl | bash` shortcut command that comes with each
34 install:
35
36 ```bash
37 webi node@lts golang@stable flutter@beta rustlang
38 ```
39
40 ### webi PATHs
41
42 You can see exactly what PATHs have been edited:
43
44 ```bash
45 pathman list
46 ```
47
48 And where:
49
50 ```bash
51 cat ~/.config/envman/PATH.env
52 ```
53
54 ### How to uninstall Webi
55
56 These are the files that are installed when you use [webinstall.dev](/):
57
58 ```bash
59 # Mac, Linux
60 ~/.local/bin/webi
61 ~/.local/bin/pathman
62 ~/.local/opt/pathman-*
63
64 # Windows 10
65 ~/.local/bin/webi.cmd
66 ~/.local/bin/webi-pwsh.ps1
67 ~/.local/bin/pathman.exe
68 ~/.local/opt/pathman-*
69 ```
70
71 Assuming that you don't use `pathman` for anything else, you can safely remove all of them.
72 If you use [webinstall.dev](/) again in the future they will be reinstalled.
73
74 Additionally, these files may be modified to update your `PATH`:
75
76 ```bash
77 ~/.bashrc
78 ~/.profile
79 ~/.config/fish/config.fish
80 ~/.config/envman/PATH.env
81 ```
82
83 It's probably best to leave them alone.
84
85 ### How to uninstall Webi-installed programs
86
87 Except where noted otherwise (such as `wsl`) Webi installs everything into `~/.local/bin` and `~/.local/opt`.
88
89 Some programs also use `~/.local/share` or `~/.config` - such as `postgres` and `fish` - and
90 some use program-specific directories - such as Go, which uses `~/go/bin`.
91
92 If you want to remove any of them, simply deleting them should do well enough - just check the Cheat Sheet
93 for any special notes.
94
95 Here are some examples:
96
97 ```bash
98 # Remove jq
99 rm -rf ~/.local/bin/jq
100 rm -rf ~/.local/jq-*/
101
102 # Remove node.js
103 rm -rf ~/.local/opt/node/
104 rm -rf ~/.local/opt/node-*/
105 ```