最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

如何使用Firebase Cloud功能.npmrc设置私有NPM模块?

IT培训 admin 1浏览 0评论

如何使用Firebase Cloud功能.npmrc设置私有NPM模块?

我创建了一个用于我的Firebase功能和应用程序项目的私人打字npm模块。当我部署firebase函数时,对于每个基本上表示ERR! remote: Invalid username or password.

的函数,我都会遇到一个大错误

对于已阅读的内容,看来我需要创建一个.npmrc文件并将其放在/ functions目录中。 ()

但是,我无法在任何地方找到有关如何执行此操作的正确说明。根据发现,我已完成以下操作:

  • 运行npm登录
  • 运行npm令牌创建-只读

然后这给了我一个看起来像这样的令牌:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

然后我在我的函数目录中创建一个名为.npmrc的文件,并将//registry.npmjs/:_authToken=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX放在其中。

[另外,我看到错误消息正在尝试使用ssh安装我的私有存储库软件包,我没有设置ssh并使用https,因此,我将我的软件包文件更改为git+,以便它使用HTTPS 。

但是,我仍然收到相同的错误消息。我想念什么?以上是我从许多Google搜索中搜集而来的内容。

回答如下:

似乎您在尝试使其工作时进行了太多不同的更改,所以让我们逐步完成整个过程。

  1. 检查您的npm模块的package.json并将其发布:

    • 删除“ private”属性或将其设置为false,因为该npm中的私有模块是永远不会发布的。这不是很明显,但这是事实。
    • 下一步是对软件包应用受限访问。为此,请在property文件中添加package.json
    "publishConfig": {
        "access": "restricted"
    },
    
    • 确保您用于发布npm私有软件包的supports帐户。
    • 现在打开软件包根目录中的终端,输入npm login,然后登录npm。检查是否在package.json中放入了正确的版本。
    • 运行npm publish。该软件包应在几秒钟内发布。不用担心,由于publishConfig属性,没有人可以访问它。
  2. 现在是时候允许在您的项目中安装软件包了>

    • 转到项目目录并打开package.json文件
    • [在dependencies列表中检查您的软件包的名称和版本
    • 打开浏览器,导航到https://npmjs,登录到您的帐户,导航到您的帐户的设置页面,然后打开tokens选项卡
    • 创建新令牌并复制它
    • 现在再次转到项目的目录,位于package.json文件所在的级别(这很重要!),然后在此处创建.npmrc文件。
    • 将先前复制的令牌粘贴到.npmrc文件中。您完成了!
  3. 使用远程CI / CD服务进行部署

  • 最简单的方法是不将.npmrc添加到.gitignore中。在这种情况下,文件将始终位于存储库中,因此npm install将在克隆项目的任何计算机上顺利运行
  • 如果出于某种原因不想在存储库中包含令牌字符串,可以将其移至CI / CD服务的环境变量,然后将.npmrc文件链接至该变量。例如,您已经生成了这样的令牌://registry.npmjs/:_authToken=xxxxxxxx-yyyy-zzzz-aaaa-cccccccc。现在,您需要将xxxxxxxx-yyyy-zzzz-aaaa-cccccccc部分放入env变量中,比如说NPM_TOKEN。并将.npmrc文件更改为如下所示:
//registry.npmjs/:_authToken=${NPM_TOKEN}

我更喜欢在我的存储库中只有带令牌的.npmrc文件。

因此,通过这些步骤,您应该能够安装受限制的程序包,而不会出现任何问题。祝你好运!

如何使用Firebase Cloud功能.npmrc设置私有NPM模块?

我创建了一个用于我的Firebase功能和应用程序项目的私人打字npm模块。当我部署firebase函数时,对于每个基本上表示ERR! remote: Invalid username or password.

的函数,我都会遇到一个大错误

对于已阅读的内容,看来我需要创建一个.npmrc文件并将其放在/ functions目录中。 ()

但是,我无法在任何地方找到有关如何执行此操作的正确说明。根据发现,我已完成以下操作:

  • 运行npm登录
  • 运行npm令牌创建-只读

然后这给了我一个看起来像这样的令牌:XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX

然后我在我的函数目录中创建一个名为.npmrc的文件,并将//registry.npmjs/:_authToken=XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX放在其中。

[另外,我看到错误消息正在尝试使用ssh安装我的私有存储库软件包,我没有设置ssh并使用https,因此,我将我的软件包文件更改为git+,以便它使用HTTPS 。

但是,我仍然收到相同的错误消息。我想念什么?以上是我从许多Google搜索中搜集而来的内容。

回答如下:

似乎您在尝试使其工作时进行了太多不同的更改,所以让我们逐步完成整个过程。

  1. 检查您的npm模块的package.json并将其发布:

    • 删除“ private”属性或将其设置为false,因为该npm中的私有模块是永远不会发布的。这不是很明显,但这是事实。
    • 下一步是对软件包应用受限访问。为此,请在property文件中添加package.json
    "publishConfig": {
        "access": "restricted"
    },
    
    • 确保您用于发布npm私有软件包的supports帐户。
    • 现在打开软件包根目录中的终端,输入npm login,然后登录npm。检查是否在package.json中放入了正确的版本。
    • 运行npm publish。该软件包应在几秒钟内发布。不用担心,由于publishConfig属性,没有人可以访问它。
  2. 现在是时候允许在您的项目中安装软件包了>

    • 转到项目目录并打开package.json文件
    • [在dependencies列表中检查您的软件包的名称和版本
    • 打开浏览器,导航到https://npmjs,登录到您的帐户,导航到您的帐户的设置页面,然后打开tokens选项卡
    • 创建新令牌并复制它
    • 现在再次转到项目的目录,位于package.json文件所在的级别(这很重要!),然后在此处创建.npmrc文件。
    • 将先前复制的令牌粘贴到.npmrc文件中。您完成了!
  3. 使用远程CI / CD服务进行部署

  • 最简单的方法是不将.npmrc添加到.gitignore中。在这种情况下,文件将始终位于存储库中,因此npm install将在克隆项目的任何计算机上顺利运行
  • 如果出于某种原因不想在存储库中包含令牌字符串,可以将其移至CI / CD服务的环境变量,然后将.npmrc文件链接至该变量。例如,您已经生成了这样的令牌://registry.npmjs/:_authToken=xxxxxxxx-yyyy-zzzz-aaaa-cccccccc。现在,您需要将xxxxxxxx-yyyy-zzzz-aaaa-cccccccc部分放入env变量中,比如说NPM_TOKEN。并将.npmrc文件更改为如下所示:
//registry.npmjs/:_authToken=${NPM_TOKEN}

我更喜欢在我的存储库中只有带令牌的.npmrc文件。

因此,通过这些步骤,您应该能够安装受限制的程序包,而不会出现任何问题。祝你好运!

发布评论

评论列表 (0)

  1. 暂无评论