Winston: Невозможно установить на докер после 3.3.0/3.3.1

Созданный на 22 июн. 2020  ·  23Комментарии  ·  Источник: winstonjs/winston

npm ERR! path git
npm ERR! code ENOENT
npm ERR! errno ENOENT
npm ERR! syscall spawn git
npm ERR! enoent Error while executing:
npm ERR! enoent undefined ls-remote -h -t ssh://[email protected]/DABH/diagnostics.git
npm ERR! enoent
npm ERR! enoent
npm ERR! enoent spawn git ENOENT
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent

Похоже, это связано с # 1813, и это все еще происходит при попытке установить на докер с помощью nodejs 12.

Самый полезный комментарий

Все, v3.3.2 был выпущен, это загружает разветвленную зависимость diagnostics из NPM, а не GitHub, поэтому она должна работать для вас. Пожалуйста, не стесняйтесь подтвердить или опровергнуть. Спасибо!

Все 23 Комментарий

Здесь та же проблема, но не только в докере. Я не могу npm установить свой проект из-за этой зависимости:

npm ERR! Error while executing:
npm ERR! /usr/local/bin/git ls-remote -h -t ssh://[email protected]/DABH/diagnostics.git
npm ERR! 
npm ERR! ssh: connect to host github.com port 22: Connection timed out
npm ERR! fatal: Could not read from remote repository.
npm ERR! 
npm ERR! Please make sure you have the correct access rights
npm ERR! and the repository exists.
npm ERR! 
npm ERR! exited with error code: 128

Интересно, проблема в том, что он пытается получить доступ к серверу через ssh, а не через https?

Может ли кто-нибудь из вас попробовать изменить package.json winston так, чтобы деп diagnostics был
git+https://github.com/DABH/diagnostics.git
? Это должно заставить его использовать https, но я хочу быть на 100% уверен, что это решит вашу проблему, прежде чем делать еще один выпуск исправления. Спасибо!

У меня такая же проблема при установке через докер.
Я пытался изменить package.json, но не уверен, что делаю это правильно.
в node_modules/winston/package.json я изменил: «диагностика»: « github:DABH/diagnostics#master »,
в: "диагностика": "git+ https://github.com/DABH/diagnostics.git ",

Это не работает, но я ожидал, что мне нужно будет изменить зависимость, оканчивающуюся на «diagnostics.git», но я не смог найти это в проекте.

редактировать: я использую « node: 12.10.0-alpine » в качестве базового образа для докера

Я изучал эту проблему и похоже, что проблема возникает из-за образа докера на основе Alpine. Даже следующий Dockerfile не удается собрать, независимо от версии узла.

FROM node:14-alpine

RUN npm install git+https://github.com/lodash/lodash

А, поскольку деп приходит с github, вам нужен git...

FROM node:14-alpine

RUN apk update && apk upgrade && \
    apk add --no-cache bash git openssh

RUN npm install git+https://github.com/lodash/lodash

Я понимаю, что это не лучшее решение. Альтернативой является то, что я должен опубликовать свой форк diagnostics в NPM, но этот пакет уже есть в NPM, поэтому я думаю, мне нужно изменить имя моего репо или что-то в этом роде, чтобы я мог публиковать уникально. Любые советы приветствуются, еще я посмотрю на это позже сегодня.

Да, я придумал такое же решение. (Я даже не мог представить, что git не поставляется на alpine..) Меня устраивает это решение.

Проблема была не с Уинстоном, поэтому я закрываю это. Спасибо за помощь!

Спасибо, смотрите мой пост выше ^^

@DABH @Кивол

хм, да, я понял, спасибо :)

Для меня решение остается временным и вопрос не должен быть закрыт.

Пакет NPM не должен требовать git для установки, а только npm. Если вы используете FORK из другого пакета, потому что этот не соответствует вашим потребностям. Я думаю, что этот FORK должен быть интегрирован в источник или стать проектом, поддерживаемым для Winston, и поэтому опубликован, как вы предложили. Было бы довольно странно навязывать установку git или каких-либо других инструментов для установки пакета npm, для сотен образов docker. Изображения и процесс должны быть максимально облегченными

Привет, я просто хочу сказать, что git не должен быть отделом для winstonjs. Надеюсь, это можно решить. У нас есть несколько сотен образов докеров, и я не думаю, что модифицировать их все было бы идеально. И я уверен, что многие из нас чувствовали бы то же самое. :)

Если в 3.3.x действительно есть такое критическое изменение, мы должны вместо этого перенести его в 4.x.

@DABH @Кивол

Во-вторых, комментарии выше о том, что это изменение является критическим изменением. У нас есть образы Alpine Docker, которые из-за этого сломаются.

Если это требуется, то будет поддерживаться изменение 4.x.

Вау, это взорвало интернет... :)
Действительно очень странно требовать git.

У меня такая же проблема не в образе докера, а в моей корпоративной сети.

Я использую артефакты для загрузки всех зависимостей (npm и github были заблокированы). Если вы используете свой форк, все проекты без публичного доступа потерпят неудачу. Наибольшее влияние оказывают компании или CI/CD с ограниченным доступом.

С моей точки зрения, если вы хотите сохранить свой форк, вам нужно быть стандартным и создать новый пакет npm, а не ссылаться на репозиторий github.

Так почему же этот тикет до сих пор закрыт?

Здесь такая же проблема, исправьте. К сожалению, winston устанавливается как модуль подзависимости, поэтому мы не можем напрямую изменять версию. Это ломает наш конвейер CI, у которого нет доступа к общедоступному github.

+1 за эту проблему, это нарушает наш конвейер CI.
Пожалуйста, отмените изменения.

@Kivol, пожалуйста, откройте заново, установка git не подходит для многих-многих проектов.
особенно когда winston не является прямой зависимостью.

+1 тоже. Это нарушает принцип сборки один раз и ломает сборку для наших потребителей. Может быть, вернуться до исправления - хороший вариант здесь?

Просто скажу, что я думаю, что комментарии выше ясно показывают, насколько много Winston используется и зависит от многих проектов. Так что, хотя это и неприятно, когда возникают проблемы — надеюсь, я говорю от имени многих — когда я говорю, что мы ценим вклад, который вносят Winston и его разработчики.

То же самое.
Два момента, которые нужно добавить:

  1. добавление зависимостей к заданию CI/CD на основе образа Alpine нарушает концепцию и требует дополнительных затрат (например, «_green dev_»)
  2. в корпоративной среде мы не можем изменить общую конфигурацию сети (если вообще сможем!) чтобы получить только один пакет

Спасибо за активные комментарии, пожалуйста, потерпите пару часов, пока мы пытаемся выпустить лучшее (не зависящее от git) решение для этого.

Все, v3.3.2 был выпущен, это загружает разветвленную зависимость diagnostics из NPM, а не GitHub, поэтому она должна работать для вас. Пожалуйста, не стесняйтесь подтвердить или опровергнуть. Спасибо!

Спасибо за исправление.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

ghost picture ghost  ·  4Комментарии

Buzut picture Buzut  ·  3Комментарии

xungwoo picture xungwoo  ·  3Комментарии

kjin picture kjin  ·  3Комментарии

sinai-doron picture sinai-doron  ·  3Комментарии