Skip to content

Commit feb4a01

Browse files
committed
Recommend fnm for Node.js version management across all platform guides
1 parent f948ba5 commit feb4a01

1 file changed

Lines changed: 44 additions & 12 deletions

File tree

README.md

Lines changed: 44 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -66,11 +66,13 @@ For development, you need .NET, Docker, and Node. And GitHub and Azure CLI for s
6666
winget install Microsoft.DotNet.SDK.10
6767
winget install Git.Git
6868
winget install Docker.DockerDesktop
69-
winget install OpenJS.NodeJS
69+
winget install Schniz.fnm
7070
winget install Microsoft.AzureCLI
7171
winget install GitHub.cli
7272
```
7373

74+
We recommend [fnm](https://github.com/Schniz/fnm) which auto-installs the exact Node.js version from [`.node-version`](./application/.node-version) — alternatively use `winget install OpenJS.NodeJS` but it must match the major version in [`.node-version`](./application/.node-version).
75+
7476
</details>
7577

7678
<details>
@@ -82,7 +84,9 @@ Open a terminal and run the following commands (if not installed):
8284
- Install [Homebrew](https://brew.sh/), a package manager for Mac
8385
- `brew install --cask dotnet-sdk`
8486
- `brew install --cask docker`
85-
- `brew install git node azure-cli gh`
87+
- `brew install git fnm azure-cli gh`
88+
89+
We recommend [fnm](https://github.com/Schniz/fnm) which auto-installs the exact Node.js version from [`.node-version`](./application/.node-version) — alternatively use `brew install node` instead of `fnm` but it must match the major version in [`.node-version`](./application/.node-version).
8690

8791
</details>
8892

@@ -95,7 +99,7 @@ Open a terminal and run the following commands (if not installed):
9599
1. Install basic tools
96100

97101
```bash
98-
sudo apt update && sudo apt install -y git wget curl
102+
sudo apt update && sudo apt install -y git wget curl libnss3-tools
99103
```
100104

101105
2. Add Microsoft package repository
@@ -110,29 +114,53 @@ Open a terminal and run the following commands (if not installed):
110114
3. Install .NET SDK and Docker
111115

112116
```bash
113-
sudo apt-get update
114-
sudo apt-get install -y dotnet-sdk-10.0 docker.io docker-compose-v2
117+
sudo apt-get update && sudo apt-get install -y dotnet-sdk-10.0 docker.io docker-compose-v2
118+
```
119+
120+
```bash
121+
sudo systemctl enable --now docker
115122
sudo usermod -aG docker $USER
116-
newgrp docker
117123
```
118124

119-
4. Install Node.js (exact version from `.node-version` to avoid lockfile churn). Alternatively, use a Node version manager like [fnm](https://github.com/Schniz/fnm)
125+
4. Install Node.js via [fnm](https://github.com/Schniz/fnm) (recommended) or directly
126+
127+
```bash
128+
# Option A: fnm (recommended)
129+
curl -fsSL https://fnm.vercel.app/install | bash
130+
```
120131

121132
```bash
122-
NODE_VERSION=$(cat application/.node-version)
123-
ARCH=$(dpkg --print-architecture)
124-
curl -fsSL https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.tar.xz | sudo tar -xJ -C /usr/local --strip-components=1
133+
# Option B: Node.js directly
134+
curl -fsSL https://deb.nodesource.com/setup_24.x | sudo -E bash -
135+
sudo apt-get install -y nodejs
125136
```
126137

138+
We recommend [fnm](https://github.com/Schniz/fnm) which auto-installs the exact Node.js version from [`.node-version`](./application/.node-version) — if installing Node.js directly it must match the major version in [`.node-version`](./application/.node-version).
139+
127140
5. Trust the HTTPS development certificate
128141

129142
```bash
130143
echo 'export SSL_CERT_DIR="$HOME/.aspnet/dev-certs/trust:${SSL_CERT_DIR:-/usr/lib/ssl/certs}"' >> ~/.bashrc
144+
```
145+
146+
```bash
131147
source ~/.bashrc
148+
```
149+
150+
```bash
151+
dotnet dev-certs https --trust
152+
```
153+
154+
6. **Log out and log back in** to apply Docker group and fnm changes.
155+
156+
7. (Optional) If using Snap Chromium, trust the certificate in its sandbox
157+
158+
```bash
159+
certutil -d sql:$HOME/snap/chromium/current/.pki/nssdb -L >/dev/null 2>&1 || (mkdir -p $HOME/snap/chromium/current/.pki/nssdb && certutil -d sql:$HOME/snap/chromium/current/.pki/nssdb -N --empty-password)
132160
dotnet dev-certs https --trust
133161
```
134162

135-
6. (Optional) Install GitHub CLI and Azure CLI (needed for CI/CD setup)
163+
8. (Optional) Install GitHub CLI and Azure CLI (needed for CI/CD setup)
136164

137165
```bash
138166
(type -p wget >/dev/null || (sudo apt update && sudo apt-get install wget -y)) \
@@ -148,11 +176,15 @@ Open a terminal and run the following commands (if not installed):
148176

149177
## 1. Clone the repository
150178

179+
```bash
180+
git clone https://github.com/platformplatform/PlatformPlatform.git
181+
```
182+
151183
We recommend you keep the commit history, which serves as a great learning and troubleshooting resource. 😃
152184

153185
## 2. (Optional) Install the Developer CLI
154186

155-
The PlatformPlatform CLI provides convenient commands for common tasks. Install it globally to use the `pp` command from anywhere in your terminal.
187+
The PlatformPlatform CLI provides convenient commands for common tasks. From the cloned repository, install it globally to use the `pp` command from anywhere in your terminal.
156188

157189
```bash
158190
cd developer-cli

0 commit comments

Comments
 (0)