Eli*_*Eli 3 node.js npm firebase google-cloud-functions
我创建了一个私有类型 npm 模块,用于我的 firebase 函数和应用程序项目。当我去部署 firebase 函数时,对于每个基本上说的函数,我都会遇到一个大错误ERR! remote: Invalid username or password.
对于我所阅读的内容,看起来我需要创建一个 .npmrc 文件并将其放在 /functions 目录中。(https://cloud.google.com/functions/docs/writing/specifying-dependencies-nodejs#using_private_modules)
但是,我无法在任何地方找到有关如何执行此操作的正确说明。根据我的发现,我做了以下工作:
这就给了我一个令牌,看起来像这样:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
。
然后我在我的函数目录中创建一个名为 .npmrc 的文件,并将其放入//registry.npmjs.org/:_authToken=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX
其中。
此外,我看到错误消息试图使用 ssh 来安装我的私有 repo 包,我没有设置 ssh 而是使用 https,因此我将我的包文件更改为git+https://github.com/accounts-name/repo#commit-num
使用 HTTPS。
但是,我仍然收到相同的错误消息。我错过了什么?以上是我从大量谷歌搜索中串起来的。
似乎您在尝试使其工作时进行了太多不同的更改,所以让我们一步一步地完成整个过程。
检查 npm 模块的 package.json 并发布它:
false
因为 npm 中的私有模块永远不会发布。这并不明显,但确实如此。package.json
:"publishConfig": {
"access": "restricted"
},
Run Code Online (Sandbox Code Playgroud)
npm
您用于发布的帐户支持私有包。npm login
然后登录到 npm。检查您是否将正确的版本放入package.json
.npm publish
。该包应在几秒钟内发布。不用担心,由于publishConfig
财产的存在,没有人可以访问它。现在是时候允许在您的项目中安装包了
package.json
文件dependencies
列表tokens
选项卡package.json
文件所在的同一级别(这很重要!)并.npmrc
在那里创建文件。.npmrc
文件中://registry.npmjs.org/:_authToken=TOKEN_HERE
Run Code Online (Sandbox Code Playgroud)
你完成了!
使用远程 CI/CD 服务进行部署
.npmrc
到.gitignore
. 在这种情况下,文件将始终在存储库中,因此npm install
可以在克隆项目的任何机器上顺利运行NPM_TOKEN
环境变量(距离npmjs令牌,而不是从.npmrc整个字符串!),然后更改.npmrc
在接下来的方式文件:
//registry.npmjs.org/:_authToken=${NPM_TOKEN}
。因此,通过这些步骤,您应该能够毫无问题地安装受限制的软件包。祝你好运!
归档时间: |
|
查看次数: |
1010 次 |
最近记录: |