Was macht sandbox-npm-install?
Installieren Sie npm-Pakete in einer Docker-Sandbox-Umgebung. Verwenden Sie diesen Skill immer dann, wenn Sie node_modules innerhalb eines Containers installieren, neu installieren oder aktualisieren müssen, bei dem das Arbeitsverzeichnis über virtiofs bereitgestellt wird. Native Binärdateien (esbuild, lightningcss, rollup) stürzen auf virtiofs ab, daher müssen Pakete auf dem lokalen ext4-Dateisystem installiert und wieder zurückverlinkt werden.
Warum dieser Skill notwendig ist
Wenn das Arbeitsverzeichnis eines Containers über virtiofs bereitgestellt wird, können native Addons und Binärdateien (z. B. esbuild, lightningcss, rollup) aufgrund von Unterschieden im Verhalten des Dateisystems (z. B. fehlende Unterstützung für Dateisperren oder symbolische Links) abstürzen. Durch die Installation von node_modules auf dem lokalen ext4-Dateisystem des Containers und die Verwendung symbolischer Links wird dieses Problem umgangen.
Schritte
-
Aktuelle node_modules löschen (entfernt Probleme durch zwischengespeicherte Binärdateien):
rm -rf /path/to/mounted/node_modules -
Pakete auf dem lokalen Dateisystem installieren (z. B. in
/tmp/node_modules):npm install --prefix /tmp/node_modulesOder für ein bestimmtes Paket:
npm install paket-name --prefix /tmp/node_modules -
Symbolischen Link erstellen, der auf das lokale node_modules verweist:
ln -s /tmp/node_modules /path/to/mounted/node_modules -
Installation überprüfen (führen Sie einen Build- oder Testbefehl aus, der die Pakete verwendet).
Fehlerbehebung
- Falls native Binärdateien weiterhin abstürzen, verwenden Sie
--ignore-scripts, um Post-Installations-Skripte zu deaktivieren:npm install --ignore-scripts --prefix /tmp/node_modules - Falls Probleme mit optionalen Abhängigkeiten auftreten, versuchen Sie
--no-optional:npm install --no-optional --prefix /tmp/node_modules - Löschen Sie nach jedem fehlgeschlagenen Versuch den symbolischen Link und die lokale node_modules, um eine saubere Ausgangsbasis zu haben.
Unterstützte Plattformen
- Claude Code
- Cursor
- Codex
- Andere KI-Agenten mit Terminalzugriff in einer Docker-Sandbox