当前位置: 首页 > 知识库问答 >
问题:

如何在sls部署期间安装私有npm github包

弘思聪
2023-03-14

错误-------------------------------------------------

npm安装失败,代码为%1 npm错误!代码为npm错误!syscall spawn git npm错误!路径git npm错误!errno ENOENT npm err!执行时发生错误:npm错误!Enent未定义的ls-remote-h-t ssh:/git@github.com/private-org/private-repo.git npm错误!注意npm错误!注意npm错误!enoent spawn git enoent npm错误!如果这与npm找不到文件有关。npm错误!Enoent

npm错误!此运行的完整日志可以在:npm err!/github/home/.npm/_logs/2020-05-28t13_30_18_595z-debug.log

  at ChildProcess.child.on.exitCode (/github/workspace/node_modules/serverless-webpack/lib/utils.js:91:16)
  at ChildProcess.emit (events.js:198:13)
  at ChildProcess.EventEmitter.emit (domain.js:448:20)
  at maybeClose (internal/child_process.js:982:16)
  at Process.ChildProcess._handle.onexit (internal/child_process.js:259:5)

获取支持---------------------------------------------------文档:docs.serverless.com bugs:github.com/serverless/serverless/issues问题:forum.serverless.com您的环境信息------------操作系统:linux节点版本:10.20.1框架版本:1.54.0插件版本:3.6.12 SDK版本:2.3.1组件核心版本:1.1.2组件CLI版本:1.4.0

  deploy:
    name: deploy
    needs: test
    if: startsWith(github.ref, 'refs/tags/')
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@master
    - uses: actions/setup-node@v1
      with:
        node-version: '12.x'
    - uses: webfactory/ssh-agent@v0.2.0
      with:
        ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }} 
    - name: npm install
      run: npm install 
    - name: serverless deploy
      uses: serverless/github-action@master
      with:
        args: deploy
      env:
        AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
        AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
        SLS_DEBUG: true

通常我使用webfactory/ssh-agent@v0.2.0来解决这个问题,因此第一个npm安装在这里运行良好,并且它能够使用提供的SSH密钥安装私有包。

然而,在无服务器部署期间,我得到了上面的错误,它无法安装私有npm包。有没有一种方法可以指定一个SSH键供无服务器操作使用?

共有1个答案

陈晟睿
2023-03-14

我犯了和你一样的错误,但我错误地找到了解决方法。在circleCI中,serverless正在读取包含私有npm包授权令牌的~/.npmrc文件,但它没有读取包含私有公司包路径的本地project.npmrc文件。

因此,意外地将私有路径复制到~/.npmrc,神奇地发现部署t成功了。

在此之后,我只需更新我的circleCI步骤以获得~/.npmrc中的两条信息

step_login_github_packages: &step_login_github_packages
  name: Log in to Github Packages
  command: |
    echo "//npm.pkg.github.com/:_authToken=$GITHUB_PACKAGES_TOKEN" >> ~/.npmrc
    echo "@my-company:registry=https://npm.pkg.github.com/my-company" >> ~/.npmrc
 类似资料:
  • Fabric v0.6 安装部署 如果是初次接触 Hyperledger Fabric 项目,推荐采用如下的步骤,基于 Docker-Compose 的一键部署。 官方文档现在也完善了安装部署的步骤,具体可以参考代码 doc 目录下内容。 动手前,建议适当了解一些 Docker 相关知识。 安装 Docker Docker 支持 Linux 常见的发行版,如 Redhat/Centos/Ubunt

  • 帮助用户解决安装部署过程中遇到的问题。 产品支持哪些硬件环境? 支持带硬件虚拟化特性的x86服务器(机架、刀片、塔式、整机柜)、工作站或台式机,支持主流的Intel或AMD的处理器。 产品支持在哪些操作系统上直接部署? 目前 云联壹云 支持在CentOS 7.x操作系统上部署,使用安装脚本自动安装部署。 详细内容请参考《安装部署》中的安装内容。 安装部署产品需要多少台机器? 云联壹云 最小安装只需

  • 介绍云联壹云产品的安装部署,云联壹云采用容器化部署方式部署在Kubernetes集群上。 文档版本 本文档对应产品版本:云联壹云 v3.8 版本。 读者对象 本文档详述了云联壹云产品的安装准备、安装过程以及系统引导部署等内容。本文档主要适用于以下读者: 部署运维工程师 技术支持工程师 对云联壹云有研究兴趣的相关人员 安装 介绍云联壹云产品的安装方法。 高可用部署 介绍如何搭建云联壹云高可用环境。

  • 操作系统:windows, linux, mac 运行环境:Apache|Nginx + php5.3+ + mysql5.5+ 推荐使用Nginx,原因你懂的。 php扩展:openssl, pdo, mbstring, curl 依赖:herophp/framework composer 1.2.0+ 拉取代码 git clone https://git.oschina.net/blackfo

  • 如果你希望在自己的网络上部署ENS,或者在公共网络上部署自己的ENS副本,本指南将向你展示如何进行部署。如果你想使用现有的ENS部署,请参阅域名解析、域名管理和域名注册和续费 为了简单起见,在本页面我们会用到Javascript、Web3和npm上的Truffle框架。完整的部署文件示例可以在这个页面的底部查看。 引用合约 ENS的基础合约已经以npm模块的方式发布,比如ENS注册表和注册中心、解

  • 注意:本文档介绍使用 docker 官方的 registry v2 镜像部署私有仓库的步骤,你也可以部署 Harbor 私有仓库(部署 Harbor 私有仓库)。 本文档讲解部署一个 TLS 加密、HTTP Basic 认证、用 ceph rgw 做后端存储的私有 docker registry 步骤,如果使用其它类型的后端存储,则可以从 “创建 docker registry” 节开始; 示例两