NPM - Как исправить «Нет данных readme»


190

У меня есть простой 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": ""
  }
}

Когда я выполняю «npm install», я получаю следующее предупреждение, которое я хотел бы исправить:

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

Я попытался добавить «README.md» и «readme.txt» в тот же каталог, что и пакет, но без радости. Чего мне не хватает?


Ответ от поддержки NPM, который может быть актуален для некоторых: «Это была просто задержка в кеше веб-сайта, необходимая для того, чтобы наверстать упущенное».
Джошуа Пинтер

Ответы:


225

Простое добавление README.mdфайла не исправит его, вы должны написать что-нибудь внутри него; хотя бы название проекта и краткое описание это хорошо для людей! Но для NPM одного байта может быть достаточно ...
Это должно перестать показывать предупреждения.

Кроме того, когда вы читаете это предупреждение, убедитесь, что проблема не связана со сторонним пакетом.


19
У меня есть эта проблема, и у меня есть непустой файл README ...: /
mgol

3
У меня тоже есть README.mdфайл с целой кучей вещей в том же каталоге, что и у меня package.json, и я все еще получаю его (по отношению к препроцессору karma-coffee)
Conan

2
Да, так же, как @Conan. README.mdфайл, заполненный, все еще получает ошибку.
Натан Хорнби

4
@gustavohenke Как глупо с моей стороны, вы правы - предупреждение было за пакет, а не мое приложение
Натан Хорнби

2
@NathanHornby, поскольку это было полезно для вас, я добавил это в ответ :)
gustavohenke

178

Просто установите как частный;)

{
  "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
Следует отметить, что свойство privateсообщает npm, что это не проект, который должен быть доступен в репозитории npm. Вы можете видеть, что кто-то уже спросил, что это свойство использовало для stackoverflow.com/a/7314961/1128216
Джонатан Моралес Велес

2
Если вы укажете "private": true в вашем package.json, то npm откажется его опубликовать. ref:https://www.npmjs.org/doc/files/package.json.html
AlexStack

3
На самом деле, в более новых версиях NPM не имеет значения, является ли пакет закрытым или нет. У вас должен быть README.mdфайл. Ответ @gustavohenke лучше подходит для каждой версии.
ViniciusPires

Это работает нормально, если вы просто используете его для генерации некоторого выходного кода и вам не нужен полный пакет с исходным кодом.
Нил Монро

Я бы сказал, что этот ответ звучит примерно так: «Конечно, единственная причина, по которой у вас нет README.mdфайла, заключается в том, что ваш проект является частным. Так что либо напишите правильный README.md или установите частный флаг.
rustyx

9

Ответом является добавление README.md в корневой каталог вашего проекта, но я заметил, что NPM быстро это осознает. Может быть, несколько минут?


2
Это правда, что после публикации вам нужно время, чтобы обновить списки NPM. Вот ответ от поддержки NPM: «Это была просто задержка в кеше веб-сайта, необходимая, чтобы наверстать упущенное».
Джошуа Пинтер

1

Добавить в package.json "readme": "README.md"


6
добавление этого свойства приводит к отображению текста «README.md» на странице сведений на npmjs.com. Очевидно, это для грубой уценки, а не имени файла.
code_monk

Это, однако, удаляет предупреждение npm - просто не так, как следует из этого ответа.
rogersillito

@code_monk, чтобы мы могли написать что-то вроде «see README.md »
aloisdg переходит на codidact.com

1
вы могли бы, но AFAIK просто добавив README.md в корень вашего репо, исправит это предупреждение; Это хорошая идея, которая поможет вашим пользователям понять, как работает ваше программное обеспечение
code_monk

0

На сегодняшний день, апрель 2017 года, только установка ниже в package.json, все еще работает нормально:

"private": true

это означает, что ваш личный репозиторий

даже с последним npm работает нормально:

npm update -g npm
> 3.10.8

0

мое решение

  • npm show
  • npm dist-tag add

1.используйте информацию npm showоб удаленном веб-сайте.

например. должно так:

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]

а затем обновить lasest 0.3.53-betaв0.3.61-beta

npm dist-tag add SOME_PACKAGE@0.3.61-beta

3. npm showпроверить агин

то же самое к шагу 1

вернитесь на сайт npm package, все обновились!


Хочу помочь, спасибо ~

[Один китайский учить] 希望 对 您 有 帮助 , 谢谢 ~

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.