使用 Github 包作为 npm 节点模块时的 Firebase 云功能部署问题

Posted

技术标签:

【中文标题】使用 Github 包作为 npm 节点模块时的 Firebase 云功能部署问题【英文标题】:Firebase cloud functions deployment issue when using Github package as npm node module 【发布时间】:2022-01-03 18:28:21 【问题描述】:

我在 Firebae 云函数项目中使用 github repo 标签作为 npm 模块,它在本地环境中运行良好。

//package.json
"@instantish/martian": "github:Rakmo33/martian#v2.3.0",

但是,当我部署到 Firebase 云功能时,它会引发以下错误:

"Build failed: npm ERR! Error while executing:\nnpm ERR! /usr/bin/git ls-remote -h -t ssh://git@github.com/Rakmo33/martian.git\nnpm ERR! \nnpm ERR! 
Host key verification failed.\nnpm ERR! fatal: Could not read from remote repository.\nnpm ERR! \nnpm ERR! 
Please make sure you have the correct access rights\nnpm ERR! and the repository exists.\nnpm ERR! \nnpm ERR! exited with error code: 128\n\nnpm ERR! 
A complete log of this run can be found in:\nnpm ERR! /www-data-home/.npm/_logs/2021-11-25T10_28_13_554Z-debug.log; Error ID: beaf8772"

【问题讨论】:

【参考方案1】:

不知道你的项目的细节,但事实是如果你已经执行了:

npm install git+https://git@github.com/Rakmo33/martian.git#v2.3.0

您的package.json 中会有类似的内容:

"dependencies": 
    "@rakmo33/martian_fork": "git+https://git@github.com/Rakmo33/martian.git#v2.3.0"
  

您就不必使用任何受密码保护的 SSH 密钥了。

【讨论】:

以上是关于使用 Github 包作为 npm 节点模块时的 Firebase 云功能部署问题的主要内容,如果未能解决你的问题,请参考以下文章

Angular 导入节点包

模块解析:NPM 安装来自 Github 的 Typescript 包

无法使用托管在 GPR 上的私有 NPM 包

部署到 Heroku 时的本地或私有 NPM 模块

如何通过 NPM 管理非节点模块作为 Node Project 的依赖项?

从 Github 安装时自动构建 NPM 模块