Installation & Prerequisites
Complete guide to setting up your development environment for Portfolio OS
Installation & Prerequisites
This guide covers everything you need to install and configure for Portfolio OS development.
System Requirements
Required Software
Note:
Ensure you meet these minimum requirements before proceeding with installation.
| Software | Minimum Version | Recommended | Purpose |
|---|---|---|---|
| Node.js | 18.0.0 | 18.17.0+ | JavaScript runtime |
| PNPM | 8.0.0 | 10.14.0+ | Package manager |
| Git | 2.x | Latest | Version control |
Recommended Tools
- Code Editor: VS Code with extensions:
- ESLint
- Prettier
- Tailwind CSS IntelliSense
- TypeScript and JavaScript Language Features
- Terminal: iTerm2 (macOS), Windows Terminal (Windows), or your preferred terminal
- Browser: Chrome/Edge with React DevTools extension
Installing Prerequisites
Node.js Installation
Node Version Manager (NVM) - Best for managing multiple Node versions
macOS/Linux:
# Install NVM
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
# Install Node.js 18
nvm install 18
nvm use 18
nvm alias default 18
Windows:
# Install nvm-windows from https://github.com/coreybutler/nvm-windows/releases
# Then run:
nvm install 18
nvm use 18
PNPM Installation
PNPM is faster and more disk-efficient than npm. Portfolio OS requires PNPM for workspace management.
npm install -g pnpm
# Verify installation
pnpm --version
Note:
After installing PNPM, you may need to restart your terminal for the command to be available.
Git Installation
Download from git-scm.com and follow the installation wizard.
Configure Git:
git config --global user.name "Your Name"
git config --global user.email "your.email@example.com"
Installing Portfolio OS
Once all prerequisites are installed, follow these steps:
Clone the Repository
git clone https://github.com/jschibelli/portfolio-os.git
cd portfolio-os
Install Dependencies
pnpm install
This command:
- Installs all workspace dependencies
- Links packages using PNPM workspaces
- Runs postinstall hooks (including Prisma generation)
Note:
The postinstall script automatically runs prisma generate for the dashboard app.
Verify Installation
# Check that all packages are installed
pnpm list --depth=0
# Verify Turbo can see all workspaces
pnpm turbo run build --dry-run
Post-Installation Setup
Editor Configuration
VS Code Users: Install the recommended extensions by opening the command palette (Cmd/Ctrl + Shift + P) and running:
Extensions: Show Recommended Extensions
Environment Variables
You'll need to configure environment variables before running the apps. See the Environment Configuration guide for details.
Troubleshooting Installation Issues
PNPM Command Not Found
Problem: pnpm: command not found after installation
Solutions:
- Restart your terminal
- Check if PNPM is in your PATH:
echo $PATH(macOS/Linux) or$env:Path(Windows) - Reinstall PNPM using a different method
Module Not Found Errors
Problem: Import errors after installation
Solutions:
# Clean install
rm -rf node_modules
pnpm install
# Clear PNPM cache if issues persist
pnpm store prune
pnpm install
Prisma Generation Fails
Problem: Prisma client generation errors
Solutions:
# Regenerate Prisma client manually
cd apps/dashboard
pnpm prisma generate
# If still failing, clean and reinstall
cd ../..
rm -rf apps/dashboard/node_modules
pnpm install
Port Conflicts
Problem: EADDRINUSE: address already in use :::3000
Solutions:
- Stop the conflicting process
- Or change the port in
apps/site/next.config.js(for site) orapps/dashboard/next.config.js(for dashboard)
Note:
Still having issues? Check the Troubleshooting Guide for more solutions.
Next Steps
Once installation is complete:
- Configure Environment Variables - Set up API keys and configuration
- First Steps Tutorial - Build your first feature
- Developer Guide - Learn the architecture
Version Compatibility
| Package | Version Range | Notes |
|---|---|---|
| Node.js | >=18.0.0 | Next.js 14 requires Node 18+ |
| PNPM | >=8.0.0 | Workspace features require v8+ |
| TypeScript | ^5.3.3 | Project uses TS 5.3 features |
| Next.js | ^14.2.32 | App Router and Server Components |
| React | ^18.3.1 | Server Components support |
| Turbo | ^2.5.8 | Monorepo build orchestration |
Note:
The project enforces Node and PNPM versions via package.json engines field. Installation will fail if versions don't match.