簡體   English   中英

從package.json安裝依賴項時出錯

[英]error installing dependencies from package.json

我剛剛下載了node.js並嘗試從package.json安裝幾個依賴項,但我不斷遇到相同的錯誤。 我嘗試了最新版本和LTS,並且都給出了相同的錯誤。

package.json

{
    "name": "snake-ch3",
    "dependencies": {
        "express": "*",
        "express-generator": "*"
    },
    "devDependencies": {
        "grunt": "~0.4.5",
        "grunt-browserify": "~3.4.0",
        "grunt-contrib-uglify": "~0.8.0",
        "grunt-contrib-watch": "~0.6.1"
    }
}

和錯誤:

0 info it worked if it ends with ok
1 verbose cli [ 'C:\\Program Files\\nodejs\\node.exe',
1 verbose cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
1 verbose cli   'install' ]
2 info using npm@2.15.9
3 info using node@v4.6.0
4 verbose readDependencies loading dependencies from C:\Users\Julian\Desktop\node\ch3\package.json
5 error install Couldn't read dependencies
6 verbose stack Error: Failed to parse json
6 verbose stack No data, empty input at 1:1
6 verbose stack
6 verbose stack ^
6 verbose stack     at parseError (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:390:11)
6 verbose stack     at parseJson (C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:79:23)
6 verbose stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\read-package-json\read-json.js:48:5
6 verbose stack     at C:\Program Files\nodejs\node_modules\npm\node_modules\graceful-fs\graceful-fs.js:78:16
6 verbose stack     at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:380:3)
7 verbose cwd C:\Users\Julian\Desktop\node\ch3
8 error Windows_NT 10.0.14393
9 error argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "install"
10 error node v4.6.0
11 error npm  v2.15.9
12 error file C:\Users\Julian\Desktop\node\ch3\package.json
13 error code EJSONPARSE
14 error Failed to parse json
14 error No data, empty input at 1:1
14 error
14 error ^
15 error File: C:\Users\Julian\Desktop\node\ch3\package.json
16 error Failed to parse package.json data.
16 error package.json must be actual JSON, not just JavaScript.
16 error
16 error This is not a bug in npm.
16 error Tell the package author to fix their package.json file. JSON.parse
17 verbose exit [ 1, true ]

我在https://jsonformatter.curiousconcept.com/上驗證了json,並尋找與“ Windows_NT 10.0.14393”相關的json解析錯誤,但我什么也沒得到。

我重新安裝了幾次節點,所以它不是節點,也不是下載問題。 誰能告訴我我做錯了什么嗎?

編輯

我只是嘗試使用所有默認值運行npm init ,然后對其進行編輯,使其具有"dependencies""devDependencies"並且突然起作用。 我嘗試像以前一樣再次進行此操作,但遇到了同樣的錯誤。

現在看起來像這樣:

package.json

{
  "name": "snake-game",
  "version": "1.0.0",
  "description": "a simple snake game",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "Julian Avar",
  "dependencies": {
    "express": "*",
    "express-generator": "*"
  },
    "devDependencies": {
        "grunt": "~0.4.5",
        "grunt-browserify": "~3.4.0",
        "grunt-contrib-uglify": "~0.8.0",
        "grunt-contrib-watch": "~0.6.1"
    }
}

我注意到,在許多Windows程序中創建的文件通常會在字節前加上字節,從而阻止基於Unix的程序正確讀取它們(尤其是Unix程序期望使用JSON文件之類的結構時)。 從@robertklep的評論中,我認為它是一個字節順序標記,但是我之前從未知道過它的名稱。

推薦使用package.json來避免這種情況的方法是從命令行運行npm init ,既避免操作系統混亂,又要確保在說完所有步驟后都擁有最低限度的有效package.json

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM