2016-07-25 60 views
0

這是從我package.json的摘錄:的package.json依賴確切的版本不工作

"dependencies": { 
    [...] 
    "jquery": "2.2.3", 
    [...] 
} 

按照package.json documentation(「必須匹配版本完全相同」),它應該與2.2.3版本時,得到的jQuery你做npm install

所以我很驚訝,當我發現,在我的node_modules/jquery/dist文件夾中有一個jquery.js文件,該文件說:jQuery JavaScript庫V3.0.0(其中,當然,打破了我的一些代碼)

發生了什麼事這裏?這是一個錯誤?這是預期的行爲,因爲其他一些依賴項具有[email protected]子依賴項? 將插入符號放在版本號前面("jquery": "^2.2.3")也是一樣。在文檔中,在SO或谷歌上找不到任何關於此的信息,所以我們將不勝感激。

回答

0

您是否有npm-shrinkwrap.json文件,這會使npm忽略對您的package.json依賴項的所有更改(devDependencies不受影響)並且具有硬編碼的[email protected]版本?

刪除該文件並再次運行npm install

如果您需要,請在之後再次運行npm shrinkwrap以使用新版本號重新創建shrinkwrap文件。

在此處查看文檔:https://docs.npmjs.com/cli/shrinkwrap