Sam*_*ssé 15 node.js npm firebase google-cloud-functions
我正在尝试将应用程序切换到Firebase并将后端转移到Firebase云功能.
此应用程序使用私有package(@org/name)作为依赖项.
我尝试过不同的解决方案,但似乎都没有效果:
NPM_TOKEN:由于Firebase限制为小写配置,因此无法实现npm install 函数目录中的模块.npmrc使用YARN和NPM身份验证令牌在函数目录中创建一个文件它始终拒绝部署:
Deploy Error: Build failed: Module @org/name not found in npm registry
Firebase是否支持私有包?
Google Cloud Functions现在支持私有NPM包.
为了使用私有npm模块,您必须在位于函数目录中的.npmrc文件中为npm注册表提供凭据(auth令牌).使用npm login命令登录npm时,只需复制在主目录中创建的.npmrc文件即可.
如果您不使用私有存储库,请不要包含.npmrc文件,因为这可能会增加函数的部署时间.
资料来源:https://cloud.google.com/functions/docs/writing/dependencies#using_private_modules
目前没有方便的方法.
在我看来,GCF不使用npm客户端从npm注册表获取,而是直接获取它.这可以防止使用标准.npmrc文件或npm客户端知道的任何其他方法.
您必须在本地打包并安装包并将其提交给源代码:
$ npm pack @org/name
$ npm install --save tarball-output.tgz
Run Code Online (Sandbox Code Playgroud)
这会将本地tarball添加到您package.json和Google Cloud Functions将知道使用它.
我真的希望他们.npmrc从项目根路径读取,或者我们可以将它们作为env变量传递给它们.
有一个未解决的问题:https: //issuetracker.google.com/issues/36665861
| 归档时间: |
|
| 查看次数: |
3899 次 |
| 最近记录: |