Vollständige Anleitung zur Einrichtung einer modernen Entwicklungsumgebung auf Mac mit M-Chip
Vollständige Anleitung zur Einrichtung einer modernen Entwicklungsumgebung auf Mac mit M-Chip Eine umfassende Anleitung speziell für Apple Silicon (M1/M2/M3) Chips, die wichtige Tools, GitHub-Konnektivität und standardisierte Entwicklungs-Workflows abdeckt Topics: Startup, Innovation, Management.
Vollständige Anleitung zur Einrichtung einer modernen Entwicklungsumgebung auf Mac mit M-Chip
Dies ist eine umfassende Anleitung speziell für Apple Silicon (M1/M2/M3) Chips. Sie deckt nicht nur die Installation wichtiger Tools ab, sondern behandelt auch Schmerzpunkte wie GitHub-Konnektivitätsprobleme und die Blockierung nativer Build-Skripte in Entwicklungsumgebungen.
Phase 1: Einrichtung der grundlegenden Entwicklungsumgebung
Bei M-Serie-Chips ist die Ausrichtung von Pfaden und Architekturen entscheidend für die Stabilität.
1. Homebrew installieren (Paketmanager)
Auf Apple Silicon wird Homebrew standardmäßig in /opt/homebrew installiert.
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
Umgebungsvariablen konfigurieren:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
2. fnm installieren (Node.js Versionsmanager)
fnm unterstützt nativ ARM64 und ist derzeit der leistungsstärkste Node-Manager für macOS.
brew install fnm
Fügen Sie Folgendes zu ~/.zshrc hinzu, um Node-Versionen beim Betreten von Projektverzeichnissen automatisch zu wechseln:
echo 'eval "$(fnm env --use-on-cd --shell zsh)"' >> ~/.zshrc
source ~/.zshrc
3. pnpm installieren (Kern-Paketmanager)
Empfohlen wird eine separate Installation über Homebrew mit optimierter globaler Konfiguration:
brew install pnpm
pnpm setup
source ~/.zshrc
Wichtige Optimierung: Automatische Ausführung von Build-Skripten nativer Module (wie Gemini CLI, Sharp usw.) erlauben, um Kompilierungsfehler auf M-Chips zu vermeiden:
pnpm config set -g ignore-scripts false
Phase 2: Sichere GitHub-Verbindung und Netzwerk-Tunneling
Lösung häufiger Verbindungs-Timeout- oder Reset-Probleme über SSH-over-HTTPS (Port 443) mit Proxy-Tools.
1. Globale Identitätskonfiguration
Ersetzen Sie die folgenden Platzhalter durch Ihre GitHub-Informationen:
git config --global user.name "<your_username>"
git config --global user.email "<your_email@example.com>"
git config --global init.defaultBranch main
2. ED25519-Schlüssel generieren
ssh-keygen -t ed25519 -C "<your_email@example.com>"
Führen Sie cat ~/.ssh/id_ed25519.pub aus und fügen Sie den Inhalt zu GitHub SSH Settings hinzu.
3. “Universelle” SSH-Konfigurationsdatei schreiben
Bearbeiten Sie ~/.ssh/config, um sicherzustellen, dass der Traffic über Ihren festgelegten Proxy-Port läuft (Beispiel verwendet 7897):
Host github.com
HostName ssh.github.com
Port 443
User git
IdentityFile ~/.ssh/id_ed25519
AddKeysToAgent yes
UseKeychain yes
# Erzwingt lokalen Proxy (Port je nach Proxy-Tool anpassen)
ProxyCommand nc -X 5 -x 127.0.0.1:7897 %h %p
Berechtigungskorrektur:
chmod 600 ~/.ssh/config
Phase 3: Standardisierter Entwicklungs-Workflow
Sobald die Umgebung bereit ist, verbessert die Befolgung eines standardisierten Workflows die Zusammenarbeits- und Wartungseffizienz erheblich.
1. Umgebungsprüfung
Nach dem Betreten eines Projektverzeichnisses überprüfen Sie, ob die Umgebung korrekt ausgerichtet ist:
node -v && pnpm -v
2. Abhängigkeitsmanagement
Mit aktivierter Skriptausführung vervollständigen native Module die lokale Kompilierung während der Installation automatisch:
pnpm install
3. Konventionelle Commits
Wir empfehlen die Verwendung der Conventional Commits Spezifikation, um eine klare Commit-Historie zu erhalten:
feat:Neue Funktionfix:Fehlerbehebungchore:Änderungen am Build-Prozess oder Hilfstoolsdocs:Dokumentationsänderungen
Tipp: Sie können KI-Tools verwenden, um bei der Generierung angemessener Commit-Nachrichten zu helfen:
git diff --cached | <ai_tool_command> "Englische Commit-Nachricht basierend auf Änderungen generieren"
4. Push und Synchronisierung
git pull origin main # Pull vor Push, um Konflikte zu vermeiden
git push origin main