2017-10-18 194 views
0

我剛剛開始與npm,並據我所知,npm install命令應自動更新package.json文件,但與我不幸的是,它不。爲什麼我的package.json沒有通過npm install進行更新?

我在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 list抱怨說它不在package.json文件中wi TH的extraneous標誌:

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

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

,我可以確認:

$ 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 *模塊名稱* --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是的buuuut在大多數情況下,最新版本從未用於開發或生產。 Idk,我只是推測如此。 – ZombieChowder

+1

我認爲這是一個公平的假設,是的。 v4仍然是當前LTS版本節點的默認值。 –

相關問題