web-dev-qa-db-ja.com

nPM package.jsonをWARN:いいリポジトリリポジトリを

次のコマンドでExpress.jsをインストールしました。

Sudo npm install -g express

次のような警告が表示されます。

npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] No readme data.
npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] No repository field.
npm WARN package.json [email protected] No repository field.

Node.jsとExpress.jsは初めてです。上記の警告が表示されるのはなぜですか。私は心配するべきですか?

724
JR Galia

それはNPM v1.2.20の時点での単なるチェックです。彼らはこれを警告として報告しています。

しかし、心配しないでください。まだpackage.jsonrepositoryフィールドがない sooooooo のパッケージがたくさんあります。このフィールドは情報提供を目的として使用されます。

あなたがパッケージの作者の場合は、次のようにrepositorypackage.jsonに入れてください。

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

repository フィールドについてもっと読んでください、そしてさらなる詳細については ログに記録されたバグ を見てください。


さらに、 もともと@dan_nl によって報告されているように、あなたはあなたのpackage.jsonprivateキーを設定することができます。
これにより、アプリケーションでnpm publishを誤って実行してしまうことを防ぐだけでなく、NPMがpackage.jsonの問題に関する警告を出力することも防ぐことができます。

{
  "name": "my-super-amazing-app",
  "version": "1.0.0",
  "private": true
}
1148
gustavohenke

実際のリポジトリに配置する予定がない場合は、アプリケーションを非公開としてマークすることもできます。

{
  "name": "my-application",
  "version": "0.0.1",
  "private": true
}
367
dan_nl

Dan_nlが述べたように、package.jsonにプライベートな偽のリポジトリを追加することができます。名前やバージョンも必要ありません。

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

更新:この機能は文書化されていないので機能しない可能性があります。以下のオプションを選択してください。

さらに良い方法:privateフラグを直接設定してください。こうすると、npmはREADMEファイルを要求しません。

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

あなたがこれをあなた自身のpackage.jsonから得ているのなら、それにrepositoryフィールドを追加するだけです。 (実際のリポジトリへのリンクを使用してください):

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

シンプルワードで - あなたのプロジェクトのpackage.jsonはリポジトリのプロパティを持っていません、あなたはそれを追加する必要があります

下記のようにpackage.jsonにリポジトリを追加する必要があります。

enter image description here

あなたのシナリオに従って説明させてください

以下のようにリポジトリフィールドを追加する必要があります。

  "repository" : {     
     "type" : "git",
      "url" : "http://github.com/npm/express.git" 
   }
8
ngCourse

npm initを実行しましたか?そのコマンドはあなたをすべてを通して実行します...

7
achoukah

リポジトリを指定したくない場合は、package.jsonファイルに次の行を追加できます。

"description":"",
"version":"0.0.1",
"private":true,

それは私のために働いた。
privateを追加することで、リポジトリにリンクする必要がなくなります。

6
Rubin bhandari

以下のような警告を避けるために:

npm WARN [email protected] No repository field.

プロジェクトpackage.jsonでリポジトリを定義する必要があります。リポジトリに公開せずに開発している場合は、package.jsonで"private": trueを設定できます。

例:

{
  "name": "test.loc",
  "version": "1.0.0",
  "private": true,
  ...
  "license": "ISC"
}

これに関するNPMの資料: https://docs.npmjs.com/files/package.json

5
Alex

これはあなた全員があなた自身の正しい詳細な使い方を見つけるのを助けるでしょう

npm ls dist-tag

これで正しい情報が表示されるので、バージョンファイルの場所などは推測されません。

楽しい :)

4
Ian Croasdell

はい、おそらくコマンドの最後に-fを含めることで再作成できます。

2
Jsalim