问题:
I installed expressjs with the following command:
sudo npm install -g express
I have the following warning:
npm WARN package.json range-parser@0.0.4 No repository field.
npm WARN package.json fresh@0.1.0 No repository field.
npm WARN package.json methods@0.0.1 No repository field.
npm WARN package.json methods@0.0.1 No readme data.
npm WARN package.json cookie-signature@1.0.1 No repository field.
npm WARN package.json send@0.1.0 No repository field.
npm WARN package.json pause@0.0.1 No repository field.
npm WARN package.json bytes@0.2.0 No repository field.
npm WARN package.json github-url-from-git@1.1.1 No repository field.
npm WARN package.json assert-plus@0.1.2 No repository field.
npm WARN package.json ctype@0.5.2 No repository field.
Im new to nodejs and expressjs. Why I have the above warnings? Should I be worried?
回答1:
It's just a check as of NPM v1.2.20, they report this as a warning.
However, don't worry, there are sooooooo many packages which still don't have the repository
field in their package.json
. The field is used for informational purposes.
In the case you're a package author, put the repository
in your package.json
, like this:
"repository": {
"type": "git",
"url": "git://github.com/username/repository.git"
}
Read more about the repository
field, and see the logged bug for further details.
Additionally, as originally reported by @dan_nl, you can set private
key in your package.json
.
This will not only stop you from accidentally running npm publish
in your app, but will also stop NPM from printing warnings regarding package.json
problems.
{
"name": "my-super-amazing-app",
"version": "1.0.0",
"private": true
}
回答2:
you can also mark the application as private if you don’t plan to put it in an actual repository.
{
"name": "my-application",
"version": "0.0.1",
"private": true
}
回答3: ok
As dan_nl stated, you can add a private fake repository in package.json. You don't even need name and version for it:
{
...,
"repository": {
"private": true
}
}
Better still: Set the private
flag directly. This way npm doesn't ask for a README file either:
{
"name": ...,
"description": ...,
"version": ...,
"private": true
}
回答4:
If you are getting this from your own package.json
, just add the repository
field to it. (use the link to your actual repository):
"repository" : {
"type" : "git",
"url" : "https://github.com/npm/npm.git"
}
回答5:
Have you run npm init
? That command runs you through everything...
回答6:
In Simple word- package.json of your project has not property of repository you must have to add it,
and you have to add repository in your package.json like below
and Let me explain according to your scenario
you must have to add repository field something like below
"repository" : {
"type" : "git",
"url" : "http://github.com/npm/express.git"
}
回答7:
this will help all of you to find your own correct details use
npm ls dist-tag
this will then show the correct info so you don't guess the version file location etc
enjoy :)
回答8:
Yes, probably you can re/create one by including -f
at the end of your command