What They Are
Node.js is a JavaScript runtime. Our website, docs, and desktop app frontend all run on JavaScript — Node.js is what executes it on your machine.
pnpm is a package manager for JavaScript. When the project needs external libraries (and it needs hundreds), pnpm downloads and manages them. It's similar to npm but faster and more efficient.
You need both installed even if you never write JavaScript. Building the website, running the dev server, and previewing content changes all require them.
Prerequisites
- Homebrew installed
Install Node.js
brew install node
Verify:
node --version
You should see v20.x.x or higher.
Install pnpm
brew install pnpm
Verify:
pnpm --version
You should see 9.x.x or higher.
Install Project Dependencies
Once both are installed, navigate to the Hyprnote repo and install all project dependencies:
cd ~/Dev/hyprnote
pnpm install
This downloads everything the project needs. It takes a minute or two the first time.
When You'll Use These
You won't run node or pnpm commands constantly, but they're behind the scenes for:
pnpm -F desktop tauri dev— Run the desktop app locallypnpm -F web dev— Run the website locally to preview content changespnpm install— Run this after pulling new changes that update dependencies
Most of these commands are wrapped in Taskfile commands, so you'll often just run task <something> instead. But Node.js and pnpm need to be installed for any of it to work.
Troubleshooting
"node: command not found" — Close and reopen your terminal after installing. If it still doesn't work, run brew link node.
"pnpm: command not found" — Same fix — close and reopen your terminal, or run brew link pnpm.
"pnpm install" fails with permission errors — Don't use sudo. If you get permission errors, the issue is usually with your Node.js installation. Reinstall Node.js via Homebrew.