Skip to content

TL-M0-02 · Node 24 for the repository folder

Why: Vercel runs Node 24 at most today, so the repository pins Node 24 (D25). fnm switches Node by folder, so Node 26 on this Mac stays as it is outside the v2 folder.

ID TL-M0-02 · Level L0 · Run order row 2

Inside ~/opleet-v2, node is Node 24.

  • TL-M0-01 is Done.
  • Homebrew works: brew --version prints a version.
Terminal window
brew install fnm

2 · Let fnm switch Node when you enter a folder that has a .node-version file, then reload zsh

Section titled “2 · Let fnm switch Node when you enter a folder that has a .node-version file, then reload zsh”
Terminal window
echo 'eval "$(fnm env --use-on-cd --version-file-strategy=recursive --shell zsh)"' >> ~/.zshrc
source ~/.zshrc

3 · Install Node 24 and pin it for the workspace folder

Section titled “3 · Install Node 24 and pin it for the workspace folder”
Terminal window
fnm install 24
mkdir -p ~/opleet-v2
echo 24 > ~/opleet-v2/.node-version
cd ~/opleet-v2
node --version
pnpm --version
  • Block 1 ends without an Error line.
  • Block 2 prints nothing.
  • Block 3 prints “Installing Node v24…”, then a v24 version, then 12.8.1 (or a newer 12.x).
Terminal window
cd ~ && cd ~/opleet-v2
which node
node --version

The path contains fnm, and the version starts with v24. Outside ~/opleet-v2, which Node you get doesn't matter for v2.

  • “brew: command not found”: stop and paste it. Installing Homebrew is a step of its own.
  • node still prints v26 inside ~/opleet-v2: open a new terminal tab, cd ~/opleet-v2 and run node --version again. Still v26: paste the output of which -a node.
  • “pnpm: command not found”: paste the output of which -a pnpm.

Delete the fnm line at the end of ~/.zshrc, then:

Terminal window
fnm uninstall 24
brew uninstall fnm
rm ~/opleet-v2/.node-version

Done 2026-10-05 (zuki)