如何禁用 package-lock.json 中本地依賴項的完整性檢查?
在我的存盤庫中,我有一個基礎庫以及兩個 Angular 應用程式,它們都使用我的基礎庫作為依賴項。
不幸的是,基礎庫的完整性sha512與每個構建不同,并且 npm 無法安裝依賴項。
這是它的輸出:
npm ERR! code EINTEGRITY
npm ERR! Verification failed while extracting @me/base-library@file:../lib/me-base-library-1.0.0.tgz:
npm ERR! Verification failed while extracting @me/base-library@file:../lib/me-base-library-1.0.0.tgz:
npm ERR! Integrity check failed:
npm ERR! Wanted: sha512-(...)
npm ERR! Found: sha512-(...)
摘自“package-lock.json”:
"@me/base-library": {
"version": "file:../lib/me-base-library-1.0.0.tgz",
"integrity": "sha512-(...)" // <- different with every build
}
有沒有辦法禁用本地依賴項的完整性檢查?
uj5u.com熱心網友回復:
我不確定這種可能性是否存在——基本上,這將是一個切換安全問題的開關。
要在不引入安全問題的情況下解決此問題,您可以再次重新安裝該軟體包,這應該更新 的值integrity:
npm install file:../lib/me-base-library-1.0.0.tgz
要自動執行此操作,您可以創建一個 npm 腳本:
{
"scripts": {
"update-base": "npm install file:../lib/me-base-library-1.0.0.tgz"
}
}
npm run update-base
uj5u.com熱心網友回復:
我可以通過參考我的庫目錄而不是 TGZ 檔案來解決這個問題。npm 和 yarn(都經過測驗)不會為檔案夾生成完整性哈希,僅為檔案生成。在我package.json的 Angular 應用程式檔案中,我剛剛更改"@me/base-library": "file:../lib/me-base-library-1.0.0.tgz"為"@me/base-library": "file:../lib".
此外,我必須向package.json基本庫的檔案中添加一些屬性:
"main": "lib/bundles/me-base-library.umd.js",
"module": "lib/fesm2015/me-base-library.js",
"es2015": "lib/fesm2015/me-base-library.js",
"esm2015": "lib/esm2015/me-base-library.js",
"fesm2015": "lib/fesm2015/me-base-library.js",
"typings": "lib/me-base-library.d.ts"
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/354112.html
