Я знаю, как сделать зависимость НПМ от выпуска GitHub:NPM установить/зависимость от GitHub Release Binary
"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
Бинарные релиз активов exist outside of GitHub и использовании AWS S3.
URL-адрес github.com/user/repo/releases/download/v1.0.0/bin.tgz
перенаправляет с 302
статуса и заголовка HTTP местоположения установлен в https://github-cloud.s3.amazonaws.com/releases/XXX/XXX...
Если я пытаюсь непосредственно с URL S3 я получил ошибку ENAMETOOLONG (see NPM issue):
> 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 не f перенаправить перенаправление?
- Почему
404
? - Есть ли способ связать зависимость NPM с бинарным архивом релиза GitHub? Как?
Мой контекст и потребности:
- У меня есть личное хранилище GitHub
- Мой пакет должен быть построен до "развертывания" (transpilation и т.д.)
- Я хочу «опубликовать» tarball этой сборки в моем выпуске GitHub и напрямую ссылаться на мои зависимости от NPM.
- Я использую службу CI для сборки, создания тарбалл и загрузить его рядом с GitHub релиз
- Я хотел бы использовать GitHub бинарные дистрибутивы в качестве НПМ хранилище
Связанные
- SO вопрос: How to install an npm package from GitHub directly?
- NPM вопрос: https://github.com/npm/npm/issues/3055
Можете ли вы объяснить более подробно о том, как настроить HTTP-прокси? – line72