NPM - So beheben Sie "Keine Readme-Daten"


190

Ich habe ein einfaches package.json:

{
  "name": "camapaign",
  "version": "0.0.1",
  "scripts": {
    "start": "node app.js"
  },
  "engines": {
    "node": "0.10.15",
    "npm": "1.3.5"
  },
  "repository": { 
    "type": "svn",
    "url": ""
  }
}

Wenn ich "npm install" ausführe, erhalte ich die folgende Warnung, die ich beheben möchte:

"npm WARN package.json camapaign@0.0.1 No readme data."

Ich habe versucht, "README.md" & "readme.txt" zum selben Verzeichnis wie das Paket hinzuzufügen, aber ohne Freude. Was vermisse ich?


Eine Antwort des NPM-Supports, die für einige relevant sein könnte: "Es war nur eine Verzögerung im Cache der Website, die die Veröffentlichung nachholen musste."
Joshua Pinter

Antworten:


225

Durch einfaches Hinzufügen einer README.mdDatei wird das Problem nicht behoben. Sie sollten etwas darin schreiben. Zumindest der Projekttitel und eine kurze Beschreibung sind gut für die Leute! Für NPM kann jedoch ein Byte ausreichen.
Andernfalls sollten die Warnungen nicht mehr angezeigt werden .

Stellen Sie außerdem sicher, dass das Problem nicht mit einem Paket eines Drittanbieters zusammenhängt, wenn Sie diese Warnung lesen.


19
Ich habe dieses Problem und ich habe eine nicht leere README-Datei ...: /
mgol

3
Ich habe auch eine README.mdDatei mit einer ganzen Reihe von Sachen im selben Verzeichnis wie meine package.jsonund bekomme diese immer noch (in Bezug auf Karma-Kaffee-Präprozessor)
Conan

2
Ja, genau wie @Conan. README.mdDatei, gefüllt, immer noch den Fehler erhalten.
Nathan Hornby

4
@gustavohenke Wie dumm von mir, du hast Recht - die Warnung war für ein Paket, nicht meine App
Nathan Hornby

2
@ NathanHornby, wie es für Sie nützlich war, habe ich es in der Antwort hinzugefügt :)
Gustavohenke

178

Einfach als privat einstellen;)

{
  "name": "camapaign",
  "version": "0.0.1",
  "private": true,
  "scripts": {
    "start": "node app.js"
  },
  "engines": {
    "node": "0.10.15",
    "npm": "1.3.5"
  },
  "repository": { 
    "type": "svn",
    "url": ""
  }
}

6
Es ist zu beachten, dass die Eigenschaft privatenpm mitteilt, dass dies kein Projekt ist, das im npm-Repository verfügbar sein soll. Sie können sehen, dass jemand bereits gefragt hat, welche Eigenschaft für stackoverflow.com/a/7314961/1128216
Jonathan Morales Vélez

2
Wenn Sie in Ihrer package.json "private": true festlegen, lehnt npm die Veröffentlichung ab. ref:https://www.npmjs.org/doc/files/package.json.html
AlexStack

3
In neueren Versionen von NPM spielt es keine Rolle, ob das Paket privat ist oder nicht. Sie müssen eine README.mdDatei haben. @gustavohenke Antwort passt besser zu jeder Version.
ViniciusPires

Dies funktioniert in Ordnung, wenn Sie es nur zum Generieren von Ausgabecode verwenden und kein vollständiges Quellpaket benötigen.
Neil Monroe

Ich würde diese Antwort so etwas wie - Natürlich ist der einzige Grund, keine README.mdDatei zu haben, dass Ihr Projekt privat ist. Schreiben Sie also entweder ein richtiges README.md oder setzen Sie das private Flag.
Rustyx

9

Das Hinzufügen einer README.md zu Ihrem Projektstamm ist die Antwort, aber ich habe festgestellt, dass es eine kurze Zeit dauert, bis NPM dies erkennt. Vielleicht ein paar Minuten?


2
Es ist wahr, dass es nach der Veröffentlichung einen Moment dauert, bis die NPM-Einträge aktualisiert sind. Hier eine Antwort des NPM-Supports: "Es war nur eine Verzögerung im Cache der Website, die erforderlich war, um die Veröffentlichung nachzuholen."
Joshua Pinter

1

Zu package.json hinzufügen "readme": "README.md"


6
Wenn Sie diese Eigenschaft hinzufügen, wird der Text "README.md" auf der Detailseite von npmjs.com angezeigt. Offensichtlich handelt es sich um einen rohen Abschlag und nicht um einen Dateinamen.
Code_Monk

Die npm-Warnung wird jedoch entfernt - nur nicht so, wie diese Antwort impliziert.
Rogersillito

@code_monk, damit wir so etwas wie "see README.md " schreiben können
aloisdg wechselt zu codidact.com

1
Sie könnten, aber AFAIK, das einfach eine README.md im Stammverzeichnis Ihres Repos hinzufügt, behebt diese Warnung. Das ist eine gute Idee und hilft Ihren Benutzern zu verstehen, wie Ihre Software funktioniert
code_monk

0

Ab heute, April 2017, funktioniert die Einstellung unten in package.json immer noch einwandfrei:

"private": true

Dies bedeutet, dass es Ihr privates Repository ist

sogar mit der neuesten npm funktioniert es gut:

npm update -g npm
> 3.10.8

0

meine Lösung

  • npm show
  • npm dist-tag add

1.Überprüfen npm showSie die Bereitstellungsinformationen der Remote-Website.

zB sollte das so aussehen:

SOME_PACKAGEs@0.3.60-beta | Proprietary | deps: 14 | versions: 289
<span style="color:red;">最新日志倒序在这里增加,注明作者+日期+功能</span>

dist
.tarball: https://registry.npmjs.org/xxx/-/xxx-0.3.60-beta.tgz
.shasum: 021e30640a62f13905b1e2b7a4facd169df46a1d
.integrity: sha512-9N4pUwwoYGNek34fCCCjURuQdx1K5VBlCWl4t1sy8wi3xul/N/TiDvjmUBF24t2Dg2fX6cFM9on+tftnVaEr7A==
.unpackedSize: 114.5 kB

dependencies:
@hanyk/rc-viewer: ^0.0.3        crypto-js: ^3.1.9-1             moment: ^2.25.3                 react-dom: ^16.12.0             uuid: ^3.3.3                    
axios: ^0.19.0                  dirty-json-ie11: ^0.0.2         query-string: ^6.9.0            react-quill: ^1.3.3             yqquill-image-drop-module: ^0.0 
cookie-universal: ^2.0.16       md5: ^2.2.1                     quill-delta-to-html: ^0.11.0    react-resizable: ^1.10.1        

maintainers:
- jyjin <jyjin@qq.com>
- jyjin1 <jyjin1@163.com>
- jyjin2 <jyjin2@163.com>

dist-tags:
beta: 0.3.61-beta    latest: 0.3.53-beta  

published 26 minutes ago by jyjin1 <jyjin1@163.com>

2.npm dist-tag add [PACKAGE_NAME]@[VERSION]

und dann lasest 0.3.53-betaauf aktualisieren0.3.61-beta

npm dist-tag add SOME_PACKAGE@0.3.61-beta

3. npm showÜberprüfen Sie erneut

Gleiches gilt für Schritt 1

Gehen Sie zurück zu Ihrer npm-Paketseite, alle wurden aktualisiert!


Ich möchte helfen, danke ~

[Ein chinesischer Lehrer] 希望 对 您 有 帮助 , 谢谢 ~

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.