Zum Inhalt

npm Paket Manager

generieren

Umfassende npm (Node Package Manager) Befehle und Workflows für JavaScript und Node.js Entwicklung.

Installation und Inbetriebnahme

Installieren Sie Node.js und npm

```bash

Using Node Version Manager (recommended)

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh|bash nvm install node nvm use node

Direct download from nodejs.org

Or using package managers:

macOS: brew install node

Ubuntu: sudo apt install nodejs npm

Windows: choco install nodejs

```_

Basispakete

| | Command | Description | | | --- | --- | | | npm install package_name | Install package locally | | | | npm install -g package_name | Install package globally | | | | npm uninstall package_name | Uninstall package | | | | npm update | Update all packages | | | | npm update package_name | Update specific package | | | | npm list | List installed packages | | | | npm list -g | List global packages | |

Projektleitung

Projekt Initialisierung

| | Command | Description | | | --- | --- | | | npm init | Initialize new project | | | | npm init -y | Initialize with defaults | | | | npm init @scope | Initialize with scoped template | | | | npm create package_name | Create project with template | |

Abhängigkeitsmanagement

| | Command | Description | | | --- | --- | | | npm install | Install all dependencies | | | | npm install --save package | Install and save to dependencies | | | | npm install --save-dev package | Install and save to devDependencies | | | | npm install --save-optional package | Install as optional dependency | | | | npm install --no-save package | Install without saving | |

Angebotsinformationen

| | Command | Description | | | --- | --- | | | npm search keyword | Search for packages | | | | npm info package_name | Show package information | | | | npm view package_name | View package details | | | | npm outdated | Show outdated packages | | | | npm audit | Check for vulnerabilities | | | | npm audit fix | Fix vulnerabilities | |

Skripte und Ausführung

Script Management

| | Command | Description | | | --- | --- | | | npm run script_name | Run custom script | | | | npm start | Run start script | | | | npm test | Run test script | | | | npm run build | Run build script | | | | npm run dev | Run development script | |

Beispielpaket.json Schriften

json \\\\{ "scripts": \\\\{ "start": "node server.js", "dev": "nodemon server.js", "build": "webpack --mode production", "test": "jest", "lint": "eslint src/", "format": "prettier --write src/" \\\\} \\\\}_

Versionsmanagement

Semantische Version

| | Command | Description | | | --- | --- | | | npm version patch | Increment patch version | | | | npm version minor | Increment minor version | | | | npm version major | Increment major version | | | | npm version prerelease | Create prerelease version | |

Paketinstallation nach Version

| | Command | Description | | | --- | --- | | | npm install package@1.2.3 | Install specific version | | | | npm install package@latest | Install latest version | | | | npm install package@next | Install next/beta version | | | | npm install package@^1.2.0 | Install compatible version | |

Konfiguration

npm Konfiguration

| | Command | Description | | | --- | --- | | | npm config list | Show configuration | | | | npm config get key | Get configuration value | | | | npm config set key value | Set configuration value | | | | npm config delete key | Delete configuration | |

Gemeinsame Konfiguration

| | Setting | Description | | | --- | --- | | | npm config set registry https://registry.npmjs.org/ | Set registry | | | | npm config set init-author-name "Your Name" | Set default author | | | | npm config set init-license "MIT" | Set default license | | | | npm config set save-exact true | Save exact versions | |

.npmrc Datei

```ini

Project .npmrc

registry=https://registry.npmjs.org/ save-exact=true engine-strict=true fund=false audit-level=moderate

Global .npmrc (~/.npmrc)

init-author-name=Your Name init-author-email=your.email@example.com init-license=MIT ```_

Veröffentlichungen

Veröffentlichungen

| | Command | Description | | | --- | --- | | | npm login | Login to npm registry | | | | npm whoami | Check logged in user | | | | npm publish | Publish package | | | | npm publish --access public | Publish scoped package publicly | | | | npm unpublish package@version | Unpublish specific version | |

Veröffentlichungen

```bash

1. Update version

npm version patch

2. Build package

npm run build

3. Test package

npm test

4. Publish

npm publish

5. Tag release

git tag v1.0.0 git push origin v1.0.0 ```_

Erweiterte Nutzung

Arbeitsräume (npm 7+)

json \\\\{ "name": "my-monorepo", "workspaces": [ "packages/*", "apps/*" ] \\\\}_

| | Command | Description | | | --- | --- | | | npm install --workspaces | Install all workspace dependencies | | | | npm run test --workspaces | Run tests in all workspaces | | | | npm run build --workspace=package-a | Run command in specific workspace | |

Paketverknüpfung

| | Command | Description | | | --- | --- | | | npm link | Create global link | | | | npm link package_name | Link to global package | | | | npm unlink package_name | Unlink package | |

Cache Management

| | Command | Description | | | --- | --- | | | npm cache verify | Verify cache integrity | | | | npm cache clean --force | Clear cache | | | | npm cache ls | List cached packages | |

Sicherheit

Sicherheitsprüfung

| | Command | Description | | | --- | --- | | | npm audit | Check for vulnerabilities | | | | npm audit --audit-level high | Check high severity only | | | | npm audit fix | Fix vulnerabilities automatically | | | | npm audit fix --force | Force fix (may break changes) | |

Paketverifikation

| | Command | Description | | | --- | --- | | | npm pack | Create tarball | | | | npm pack --dry-run | Show what would be packed | | | | npm install package.tgz | Install from tarball | |

Leistungsoptimierung

Schnelle Installation

```bash

Use npm ci for CI/CD

npm ci

Parallel installation

npm install --prefer-offline

Skip optional dependencies

npm install --no-optional

Production only

npm install --production ```_

Alternative Paketmanager

| | Manager | Installation | Benefits | | | --- | --- | --- | | | Yarn | npm install -g yarn | Faster, deterministic | | | | pnpm | npm install -g pnpm | Disk space efficient | | | | Bun | curl -fsSL https://bun.sh/install \ | bash | Extremely fast | |

Fehlerbehebung

Gemeinsame Themen

| | Problem | Solution | | | --- | --- | | | Permission errors | Use nvm or fix permissions | | | | Package conflicts | Delete node_modules and reinstall | | | | Outdated npm | npm install -g npm@latest | | | | Registry issues | npm config set registry https://registry.npmjs.org/ | |

Debugging

| | Command | Description | | | --- | --- | | | npm doctor | Check npm environment | | | | npm ls | Check dependency tree | | | | npm ls --depth=0 | Show top-level dependencies | | | | npm why package_name | Show why package is installed | |

Zurücksetzen und reinigen Installieren

```bash

Clean install

rm -rf node_modules package-lock.json npm install

Clear npm cache

npm cache clean --force

Reset npm configuration

npm config edit ```_

Best Practices

Paket.json Management

json \\\\{ "name": "my-project", "version": "1.0.0", "description": "Project description", "main": "index.js", "engines": \\\\{ "node": ">=16.0.0", "npm": ">=8.0.0" \\\\}, "dependencies": \\\\{ "express": "^4.18.0" \\\\}, "devDependencies": \\\\{ "jest": "^29.0.0", "eslint": "^8.0.0" \\\\}, "peerDependencies": \\\\{ "react": ">=16.0.0" \\\\} \\\\}_

Entwicklungs-Workflow

  1. Version Pinning: Verwenden Sie genaue Versionen für kritische Abhängigkeiten
  2. Lock Files: Paket-lock.json zur Versionskontrolle
  3. Sicherheit: Regelmäßige Sicherheitsaudits mit npm audit__
  4. Testing: Test vor der Veröffentlichung npm pack_
  5. Dokumentation*: Vollständiges LESEN

Leistung

  1. CI/CD: Verwendung npm ci_ in kontinuierlicher Integration
  2. Caching: Leverage npm cache in CI-Umgebungen
  3. *Selective Installation: Verwendung --production für Produktionsgebäude
  4. *Alternative Manager: Berücksichtigen Sie Garn oder Pnpm für große Projekte
  5. Registry: Private Registrierung für interne Pakete verwenden