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

来自GitHub发行版二进制文件的NPM安装/依赖项

南宫书
2023-03-14

我知道如何从GitHub版本中创建NPM依赖项:

"dependencies": {
  "package-name": "user/repo#v1.0.0"
}
"dependencies": {
  "package-name": "https://github.com/user/repo/releases/download/v1.0.0/bin.tgz"
}

但我给出了以下错误:

❯ npm install
npm ERR! fetch failed https://github.com/user/repo/releases/download/v1.0.0/bin.tgz
npm WARN retry will retry, error on last attempt: Error: fetch failed with status code 404

二进制版本资产存在于GitHub之外,并且正在使用AWS3。

URLgithub.com/user/repo/releases/download/v1.0.0/bin.tgz正在重定向,状态为302并且HTTP位置标头设置为https://github-cloud.s3.amazonaws.com/releases/xxx/xxx...

> npm install https://github-cloud.s3.amazonaws.com/releases/XXX/XXX...
npm ERR! tarball.destroy is not a function
npm WARN retry will retry, error on last attempt: Error: ENAMETOOLONG: name too long, open '/var/folders/pn/......

问题:

  • 为什么NPM不遵循重定向
  • 为什么是404
  • 有没有方法将NPM依赖项链接到GitHub发行版的二进制tarball?怎么做?

我的上下文和需要:

  • 我有一个私人GitHub存储库
  • 在“部署”(转换等)之前需要构建我的包
  • 我想在我的GitHub发行版中“发布”这个构建的tarball,并直接将它引用到我的NPM依赖项
  • 我使用配置项服务构建、制作tarball并将其上载到GitHub发行版的旁边
  • 我希望使用GitHub发行版二进制文件作为NPM存储库
  • 问题:如何直接从GitHub安装npm包?
  • NPM问题:https://github.com/npm/npm/issues/3055

共有1个答案

陶炫明
2023-03-14

我不认为npm提供了一种按照他们的文档来做这件事的方法,他们支持使用GitHub的tarballs,但不支持一个版本附带的特定二进制文件。https://docs.npmjs.com/cli/install我认为它的唯一工作方式是下载文件并使用“npm install”文档中描述的“tarball文件”方式。

我也是在同一条船上,我想我最终会使用npm的私有存储库。

 类似资料: