【发布时间】:2022-01-22 00:39:01
【问题描述】:
在本地,我有一个 npm 模块,我使用 npm i --save ../shared/ 在 Firebase 函数中安装它。安装后,我在node_modules 中找到文件夹,这是一个符号链接。我能够构建项目。到目前为止一切顺利!
但现在我无法部署 Firebase 功能。我在函数控制台中收到以下错误:
"message": "构建失败:npm ERR!code ENOENT\nnpm ERR!syscall open\nnpm ERR!path /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!A此运行的完整日志可在以下位置找到:\nnpm ERR!/www-data-home/.npm/_logs/2021-12-20T11_02_22_672Z-debug.log;错误 ID:beaf8772"
可能 Firebase 没有部署符号文件夹?在firebase.json 中,我更新了预部署命令以删除符号文件夹并将其复制:
"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!code ENOENT\nnpm ERR!syscall open\nnpm ERR!path /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!A此运行的完整日志可在以下位置找到:\nnpm ERR!/www-data-home/.npm/_logs/2021-12-20T11_18_09_566Z-debug.log;错误 ID:beaf8772"
你是怎么做到的?
【问题讨论】:
标签: firebase npm google-cloud-functions