npm-Paket Erstellung Veröffentlichung

So erstellen und veröffentlichen Sie ein npm-Paket

Ein Leitfaden, wie man ein npm-Paket erstellt, im Internet veröffentlicht und es über 'npm install' oder 'npm install --global' herunterladbar und installierbar macht.

Shou Arisaka
3 Min. Lesezeit
13. Nov. 2025

Ein Leitfaden, wie man ein npm-Paket erstellt, im Internet veröffentlicht und es über “npm install” oder “npm install —global” herunterladbar und installierbar macht.

Bevor Sie ein npm-Paket veröffentlichen, stellen Sie sicher, dass Ihr Node.js-Programm vollständig ist und dass Sie eine package.json erstellt haben.

Melden Sie sich zunächst bei npm an:

npm login

Wenn Sie kein npm-Konto haben, erstellen Sie eines unter:

npm

Veröffentlichen Sie das Programm im aktuellen Verzeichnis als npm-Paket mit dem folgenden Befehl:

npm publish

Um zu überprüfen, ob das npm-Paket erfolgreich veröffentlicht wurde, verwenden Sie den folgenden Befehl:

npm show <package-name>

Als Beispiel wird für das von mir erstellte npm-Paket Folgendes angezeigt:

$ npm show notification-cli

[email protected] | BSD-3-Clause | deps: 4 | versions: 5
Minimalistic Command Line Notification Application under 50 Lines
https://github.com/yuis-ice/notification-cli

keywords: notifications, nodejs, cli, reminder, command-line, scheduler, cli-app, command-line-tool, time-management

bin: noc

dist
.tarball: https://registry.npmjs.org/notification-cli/-/notification-cli-1.0.4.tgz
.shasum: 2480a8ea01264fb3ceebe85563c7da7faa572541
.integrity: sha512-rr2nsXMp25wFpVQ..qECk3o5lJQu8lw==     
.unpackedSize: 7.4 kB

dependencies:
commander: ^6.2.1     moment: ^2.29.1       node-notifier: ^9.0.0 node-schedule: ^2.0.0

maintainers:
- yuis-ice <***>

dist-tags:
latest: 1.0.4

published 4 days ago by yuis-ice <***>

(Referenz)

npm packages not showing up - Google Search node.js - I published one package on npm, but it’s not showing in the search list when i am going to search - Stack Overflow

So veröffentlicht man ein npm-Paket, aber ich lasse meine package.json als Beispiel unten stehen. Sie können es frei verwenden und unter der Lizenz kopieren. Bitte verwenden Sie es als Referenz. Außerdem werde ich jede Eigenschaft unten erklären.

{
  "name": "notification-cli",
  "version": "1.0.4",
  "description": "Minimalistic Command Line Notification Application under 50 Lines",
  "main": "noc",
  "bin": {
    "noc": "./noc"
  },
  "dependencies": {
    "commander": "^6.2.1",
    "moment": "^2.29.1",
    "node-notifier": "^9.0.0",
    "node-schedule": "^2.0.0"
  },
  "devDependencies": {},
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "homepage": "https://github.com/yuis-ice/notification-cli",
  "repository": {
    "type": "git",
    "url": "https://github.com/yuis-ice/notification-cli.git"
  },
  "keywords": [
    "notifications",
    "nodejs",
    "cli",
    "reminder",
    "command-line",
    "scheduler",
    "cli-app",
    "command-line-tool",
    "time-management"
  ],
  "author": "*** <***>",
  "license": "BSD-3-Clause"
}

// description

Die description-Eigenschaft wird auf der npm-Website angezeigt. Sie hat einen leichten SEO-Effekt. Wenn Sie Zeit haben, setzen Sie sie.

// bin

Die bin-Eigenschaft sind Daten, auf die verwiesen wird, wenn npm als globales Paket installiert wird. Sie gibt die ausführbare Datei an. Wenn Sie dies nicht angeben, wird der Befehl auch dann nicht ausgeführt, wenn Sie den Befehl npm install —global ausführen und das Paket installieren. (Weil es nicht im npm-Globalpfad ist)

"bin": {
  "noc": "./noc"
},

// homepage // repository // keywords

Diese Eigenschaften werden auf der npm-Website angezeigt. Sie haben einen SEO-Effekt. Wenn Sie Linkquellen an eine GitHub-Seite senden möchten, vergessen Sie nicht die “repository”-Eigenschaft. “keywords” hat einen angemessenen SEO-Effekt bei Suchen auf der npm-Website.

Dies ermöglicht es Ihnen, das veröffentlichte npm-Paket global zu installieren und es als Befehl ausführbar zu machen mit dem folgenden Befehl:

npm i --global notification-cli

(Mein erstelltes npm-Paket und package.json: notification-cli)

yuis-ice/notification-cli: Minimalistic Command Line Notification Application under 50 Lines notification-cli/package.json at main · yuis-ice/notification-cli

(Andere möglicherweise hilfreiche npm-Pakete und package.json)

tldr-node-client/package.json at master · tldr-pages/tldr-node-client node-sleep/package.json at master · erikdubbelboer/node-sleep

Diesen Artikel teilen

Shou Arisaka 13. Nov. 2025

🔗 Links kopieren