Похоже, в linux подготовительный хук не вызывается при установке из частного git-репозитория.Я использую альпийский образ и пытаюсь собрать свой личный пакет в npm install
, но готовить ловушку не вызывают.По крайней мере, если я зайду затем в папку node_modules
, чтобы проверить, представлена ли папка lib, ее здесь нет.
Это своего рода тестовый файл dockerfile, я знаю, что ключи ssh должны вводиться, по крайней мере, на промежуточном этапе, чтобы не пропускать их.Просто для тестов, я сделал это как есть.
FROM node:8-alpine
RUN apk --update add --no-cache openssh-client
RUN apk add git
# add credentials on build
RUN mkdir /root/.ssh/
COPY ./id_rsa /root/.ssh/
RUN chmod 400 /root/.ssh/id_rsa
# make sure your domain is accepted
RUN touch /root/.ssh/known_hosts
RUN ssh-keyscan bitbucket.org >> /root/.ssh/known_hosts
WORKDIR /app
COPY package.json .
#COPY package-lock.json .
RUN npm install
COPY index.js .
ENTRYPOINT [ "node", "index.js" ]
Часть кода является частной, поэтому я не могу поделиться им, но он успешно установлен под машиной Windows, и все последовательности и финалпакет работает нормально.В этом примере с докером это не так.
Я рассмотрел этот вопрос npm v6.4.1 не работает `prepare` внутри докера Но предложенное решение не сработало для меня, поэтомуможет быть, есть что-то еще.
Как включить подготовку крюка на альпийском образе на npm install
?