在本地我有一個 npm 模塊,我在 Firebase 函式中安裝了npm i --save ../shared/. 安裝后,我找到了node_modules一個符號鏈接的檔案夾。我能夠構建該專案。到現在為止還挺好!
但現在我無法部署 Firebase 功能。我在函式控制臺中收到以下錯誤:
"message": "構建失敗:npm ERR!代碼 ENOENT\nnpm ERR!系統呼叫打開\nnpm ERR!路徑 /workspace/node_modules/shared/package.json\nnpm ERR!errno -2\nnpm ERR!enoent ENOENT:沒有這樣的檔案或目錄,打開 '/workspace/node_modules/shared/package.json'\nnpm ERR! enoent 這與 npm 找不到檔案有關。\nnpm ERR! enoent \n\nnpm ERR! 完整的日志可以在以下位置找到此運行:\nnpm ERR! /www-data-home/.npm/_logs/2021-12-20T11_02_22_672Z-debug.log;錯誤 ID:beaf8772"
Firebase 可能不部署符號檔案夾?在firebase.json我更新了 predeploy 命令以洗掉符號檔案夾并復制它:
"predeploy": [
"rm -r \"$RESOURCE_DIR\"/node_modules/shared",
"mkdir \"$RESOURCE_DIR\"/node_modules/shared",
"cp -r ./shared/. \"$RESOURCE_DIR\"/node_modules/shared",
"npm --prefix \"$RESOURCE_DIR\" run build"
]
這些命令會洗掉符號檔案夾并復制檔案。我在node_modules.
但這也不起作用,因為我再次收到相同的錯誤訊息。
"message": "構建失敗:npm ERR!代碼 ENOENT\nnpm ERR!系統呼叫打開\nnpm ERR!路徑 /workspace/node_modules/shared/package.json\nnpm ERR!errno -2\nnpm ERR!enoent ENOENT:沒有這樣的檔案或目錄,打開 '/workspace/node_modules/shared/package.json'\nnpm ERR! enoent 這與 npm 找不到檔案有關。\nnpm ERR! enoent \n\nnpm ERR! 完整的日志可以在以下位置找到此運行:\nnpm ERR! /www-data-home/.npm/_logs/2021-12-20T11_18_09_566Z-debug.log;錯誤 ID:beaf8772"
你怎么做呢?
uj5u.com熱心網友回復:
就我而言,共享模塊僅包含型別。因此,作為解決方法,我將其發布到 NPM,然后照常安裝。
此解決方法有效!
https://docs.npmjs.com/cli/v8/commands/npm-publish
雖然我對這個解決方案并不滿意,但目前它已經足夠好了。我會盡快發布更好的解決方案。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/391841.html
