916 Stimmen

Fehler "npm WARN package.json: Kein Repository-Feld"

Ich habe Express.js mit dem folgenden Befehl installiert:

sudo npm install -g express

Ich erhalte die folgenden Warnungen:

npm WARN package.json range-parser@0.0.4 Kein Repository-Feld.
npm WARN package.json fresh@0.1.0 Kein Repository-Feld.
npm WARN package.json methods@0.0.1 Kein Repository-Feld.
npm WARN package.json methods@0.0.1 Keine Readme-Daten.
npm WARN package.json cookie-signature@1.0.1 Kein Repository-Feld.
npm WARN package.json send@0.1.0 Kein Repository-Feld.
npm WARN package.json pause@0.0.1 Kein Repository-Feld.
npm WARN package.json bytes@0.2.0 Kein Repository-Feld.
npm WARN package.json github-url-from-git@1.1.1 Kein Repository-Feld.
npm WARN package.json assert-plus@0.1.2 Kein Repository-Feld.
npm WARN package.json ctype@0.5.2 Kein Repository-Feld.

Warum erhalte ich die obigen Warnungen? Sollte ich besorgt sein?

1401voto

gustavohenke Punkte 39617

Es ist nur eine Überprüfung ab NPM v1.2.20, sie geben dies als Warnung aus.

Machen Sie sich jedoch keine Sorgen, es gibt sooooooo viele Pakete, die immer noch nicht das repository-Feld in ihrer package.json haben. Das Feld wird zu Informationszwecken verwendet.

Falls Sie ein Paketautor sind, fügen Sie das repository in Ihre package.json ein, wie folgt:

"repository": {
  "type": "git",
  "url": "git://github.com/username/repository.git"
}

Erfahren Sie mehr über das repository-Feld und sehen Sie den protokollierten Fehler für weitere Details.


Zusätzlich, wie ursprünglich von @dan_nl gemeldet, können Sie den private-Schlüssel in Ihrer package.json setzen.
Dies verhindert nicht nur, dass Sie versehentlich npm publish in Ihrer App ausführen, sondern stoppt auch NPM davon, Warnungen bezüglich Problemen mit der package.json auszugeben.

{
  "name": "meine-super-coole-app",
  "version": "1.0.0",
  "private": true
}

412voto

dan_nl Punkte 4406

Sie können die Anwendung auch als privat markieren, wenn Sie nicht vorhaben, sie in einem tatsächlichen Repository zu platzieren.

{
  "name": "meine-anwendung",
  "version": "0.0.1",
  "private": true
}

56voto

wortwart Punkte 2782

Wie von dan_nl angegeben, können Sie ein privates Fake-Repository in der package.json hinzufügen. Sie brauchen dafür nicht einmal Namen und Version:

{
  ...,
  "repository": {
    "private": true
  }
}

Update: Diese Funktion ist nicht dokumentiert und funktioniert möglicherweise nicht. Wählen Sie die folgende Option.

Noch besser: Setzen Sie das private Flag direkt. Auf diese Weise fragt npm auch nicht nach einer README-Datei:

{
  "name": ...,
  "description": ...,
  "version": ...,
  "private": true
}

48voto

Brendan Nee Punkte 4682

Wenn Sie dies aus Ihrer eigenen package.json erhalten, fügen Sie einfach das repository-Feld hinzu. (Verwenden Sie den Link zu Ihrem tatsächlichen Repository):

"repository": {
    "type": "git",
    "url": "https://github.com/npm/npm.git"
}

9voto

achoukah Punkte 1065

Hast du npm init ausgeführt? Dieser Befehl führt dich durch alles...

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X