i am Roger Li

兩部電腦產生出來的package-lock.json內dependencies版本不相同

近日在一個用node.js開發的project,出現兩部電腦的package-lock.json內容不一致的問題,花了好幾小時才解決,所以做個記錄。

npm i產生出來的package-lock.json理該相同

相信有用node.js開發程式的朋友都不會對npm陌生。當我們下載別人的專案下來,必會打npm install 去下載node_modules,而package-lock.json就會產生出來,以便在deploy到production時可以npm ci 去以 package-lock.json 作參照來下載 node_modules ,避免package出現不預期的更新。理應每部相同node 和 npm版本的電腦產生出來的 package-lock.json 都應該相同。

不過我就是遇上不似預期的狀況,兩部電腦執行npm install後產生出來的package-lock.json內的dependencies版本不相同。我troubleshoot時做了以下檢查步驟。

解決方法

Time needed: 15 minutes.

解決package-lock.json內容不一致的方法

  1. 檢查兩部電腦的node 和 npm版本是否都一樣

    node -v
    npm -v

  2. 把 node_modules/ 包括內裡檔案整個刪除

    rm -rf node_modules/

  3. 把npm 的cache刪除

    npm cache clean --force

  4. 把package-lock.json刪除

    rm package-lock.json

  5. 執行安裝node_modules指令

    npm i

發佈回覆

你的電郵地址並不會被公開。 必要欄位標記為 *