Michał Karpacki
Michał Karpacki

Reputation: 2658

npmjs.org - Unable to find a readme for

I'm a lead author of the npm package scramjet - since a month I have a problem regarding the visibility of the README.md in npmjs.

The scramjet package in npm shows:

"Unable to find a readme for [email protected]"

But at the same time the README.md file is there and npm command doesn't complain about any info.

I checked if this is not caused by:

The README shows up nicely in github and the file is also added to package.json/files here.

I tried npm support, but they stopped replying so maybe someone here has an idea?

Edit: I'm publishing this from a tarball I get from github - so npm publish <url from gh>

Upvotes: 2

Views: 834

Answers (1)

RobC
RobC

Reputation: 25032

Your scramjet-4.33.2.tgz archive, that currently exists in the npm registry, when extracted produces something like the following directory structure:

scramjet-4.33.2          <-----
├── CHANGELOG.md
├── CNAME
├── CODE_OF_CONDUCT.md
├── LICENSE
├── README.md
├── docs
│   └── ...
├── greenkeeper.json
├── gulpfile.js
├── jsconfig.json
├── jsdoc2md
│   └── ...
├── lib
│   └── ...
├── package-lock.json
├── package.json
└── ...

Note: the name of the root directory (indicated above) is currently scramjet-4.33.2

NPM expects the root directory to be named package therefore it is unable to find the README.md.

To clarify further, your .tgz directory structure should be as follows:

package                  <----- Note: changed to `package`
├── CHANGELOG.md
├── CNAME
├── CODE_OF_CONDUCT.md
├── LICENSE
├── README.md
├── docs
│   └── ...
├── greenkeeper.json
├── gulpfile.js
├── jsconfig.json
├── jsdoc2md
│   └── ...
├── lib
│   └── ...
├── package-lock.json
├── package.json
└── ...

Edit from author of the question:

Additonally some background - the above situation happens if you try to publish your packages straight from github releases which used to work before, so don't do this anymore:

npm publish https://github.com/anorg/arepo/archive/v1.2.3.tar.gz

Instead use npm pack to create a tarball or just run npm publish in your working copy.

Upvotes: 3

Related Questions