2017-10-18 32 views
0

私はちょうどnpmを使い始めました。npm installコマンドがpackage.jsonファイルを自動的に更新するはずですが、残念ながらそれは私には分かりません。npmによってpackage.jsonが更新されないのはなぜですか?

私はOSX上だと私は次のことをやったnpmtestと呼ばれる新しいディレクトリに:

$ ls # let's first confirm the folder is empty 
$ 
$ npm init --y 
Wrote to /Users/kramer65/Downloads/npmtest/package.json: 

{ 
    "name": "npmtest", 
    "version": "1.0.0", 
    "description": "", 
    "main": "index.js", 
    "scripts": { 
    "test": "echo \"Error: no test specified\" && exit 1" 
    }, 
    "keywords": [], 
    "author": "", 
    "license": "ISC" 
} 

私はその後、インストールアンダースコア:

$ npm install underscore 
[email protected] /Users/kramer65/Downloads/npmtest 
└── [email protected] 

npm WARN [email protected] No description 
npm WARN [email protected] No repository field. 

罰金インストールされるように思われる:

$ ls -l 
total 8 
drwxr-xr-x 3 kramer65 staff 102 Oct 18 17:47 node_modules 
-rw-r--r-- 1 kramer65 staff 221 Oct 18 17:47 package.json 

残念ながらnpm listpackage.jsonファイルにはありません

$ npm list 
[email protected] /Users/kramer65/Downloads/npmtest 
└── [email protected] extraneous 

npm ERR! extraneous: [email protected] /Users/kramer65/Downloads/npmtest/node_modules/underscore 

私は確認することができます:extraneousフラグ番目

$ cat package.json 
{ 
    "name": "npmtest", 
    "version": "1.0.0", 
    "description": "", 
    "main": "index.js", 
    "scripts": { 
    "test": "echo \"Error: no test specified\" && exit 1" 
    }, 
    "keywords": [], 
    "author": "", 
    "license": "ISC" 
} 

質問ですが、ファイルがpackage.jsonに入力されているのはなぜですか?自動的に行くべきではありませんか?私はここで間違って何をしていますか?すべてのヒントは大歓迎です!

+1

'npm install'は' package.json'ファイルを更新しません。 'npm install * module name * --save'は' json'パッケージを更新します。 – ZombieChowder

+1

@ ZombieChowder - ああ、ありがとう。私はそれを受け入れることができるように答えとしてそれを追加できますか? – kramer65

答えて

2

npm install package.jsonファイルは更新されません。npm install *module name* --saveは、jsonパッケージを更新します。希望が役立ちます。

+0

わずかな説明 - npm install modulenameを実行すると、NPM v5はpackage.jsonを '--save'なしで更新します。あなたの答えは古いバージョンでは正しいです。 –

+0

@JoeClay yes buuuutほとんどの場合、最新のバージョンは開発や生産に使用されません。 Idk、私はちょうどそう仮定した。 – ZombieChowder

+1

私はこれが正当な仮定だと思います。 v4は現在のLTSバージョンのノードでは依然としてデフォルトです。 –

関連する問題