The Complete Guide to Modern Development Environment Setup on M-Series Mac
The Complete Guide to Modern Development Environment Setup on M-Series Mac A comprehensive guide tailored for Apple Silicon (M1/M2/M3) chips, covering essential tools, GitHub connectivity, and standardized development workflows Topics: Startup, Innovation, Management.
The Complete Guide to Modern Development Environment Setup on M-Series Mac
This is a comprehensive guide tailored specifically for Apple Silicon (M1/M2/M3) chips. It covers not only the installation of essential tools but also addresses pain points like GitHub connectivity issues and native build script blocking in development environments.
Phase 1: Essential Development Environment Setup
On M-series chips, aligning paths and architectures is crucial for stability.
1. Install Homebrew (Package Manager)
On Apple Silicon, Homebrew installs to /opt/homebrew by default.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Configure Environment Variables:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
2. Install fnm (Node.js Version Manager)
fnm natively supports ARM64 and is currently the most performant Node manager for macOS.
brew install fnm
Add the following to ~/.zshrc to automatically switch Node versions when entering project directories:
echo 'eval "$(fnm env --use-on-cd --shell zsh)"' >> ~/.zshrc
source ~/.zshrc
3. Install pnpm (Core Package Manager)
Recommended to install separately via Homebrew with optimized global configuration:
brew install pnpm
pnpm setup
source ~/.zshrc
Key Optimization: Allow automatic execution of native module build scripts (like Gemini CLI, Sharp, etc.) to avoid M-chip compilation errors:
pnpm config set -g ignore-scripts false
Phase 2: GitHub Secure Connection and Network Tunneling
Resolve common connection timeout or reset issues through SSH-over-HTTPS (port 443) with proxy tools.
1. Global Identity Configuration
Replace the placeholders below with your own GitHub information:
git config --global user.name "<your_username>"
git config --global user.email "<your_email@example.com>"
git config --global init.defaultBranch main
2. Generate ED25519 Key
ssh-keygen -t ed25519 -C "<your_email@example.com>"
Run cat ~/.ssh/id_ed25519.pub and add the content to GitHub SSH Settings.
3. Write a “Universal” SSH Config File
Edit ~/.ssh/config to ensure traffic goes through your designated proxy port (example uses 7897):
Host github.com
HostName ssh.github.com
Port 443
User git
IdentityFile ~/.ssh/id_ed25519
AddKeysToAgent yes
UseKeychain yes
# Force through local proxy (modify port based on your proxy tool)
ProxyCommand nc -X 5 -x 127.0.0.1:7897 %h %p
Permission Fix:
chmod 600 ~/.ssh/config
Phase 3: Standardized Development Workflow
Once the environment is ready, following a standardized workflow greatly improves collaboration and maintenance efficiency.
1. Environment Check
After entering a project directory, verify that the environment is correctly aligned:
node -v && pnpm -v
2. Dependency Management
With script execution enabled, native modules will automatically complete local compilation during installation:
pnpm install
3. Conventional Commits
We recommend using the Conventional Commits specification to keep commit history clear:
feat:New featurefix:Bug fixchore:Build process or auxiliary tool changesdocs:Documentation changes
Tip: You can use AI tools to help generate proper commit messages:
git diff --cached | <ai_tool_command> "Generate English commit message based on changes"
4. Push and Sync
git pull origin main # Pull before pushing to avoid conflicts
git push origin main