BCRYPT - Построить из источника на узле Alpine: и вызывает ошибки при использовании этого файла Docker, когда он используется - PullRequest
0 голосов
/ 04 июля 2018

Создайте этот файл Docker и попробуйте использовать Bcrypt для завершения хэша, и он будет зависать, и я не могу понять, почему для меня.

FROM mhart/alpine-node:9.1.0

MAINTAINER James Claridge  <james@claridgeand.co>

RUN mkdir /app
WORKDIR /app
RUN apk --no-cache add --virtual builds-deps build-base python
RUN npm config set python /usr/bin/python
RUN npm i -g npm
RUN npm install
RUN npm rebuild bcrypt --build-from-source
RUN apk del builds-deps

Ответы [ 2 ]

0 голосов
/ 04 июля 2018

Проблема в том, что вы пытаетесь установить версию npm, в которой есть ошибка. В вашей установке RUN npm install не работает, поэтому rebuild bcrypt вылетает.

После этого вы должны добавить до npm install некоторые команды, подобные описанным в следующих ссылках:

ошибка, не может-найти-модуль npmlog-после-NPM-обновление-г

Выпуск npm версии 5.4.1 решен при обновлении до 6.1.0

РЕДАКТИРОВАТЬ : Это проблема, связанная с доступными пакетами версии Alpine-узла:

Использовать этот Dockerfile:

FROM mhart/alpine-node:latest 

MAINTAINER James Claridge  <james@claridgeand.co>

RUN apk update
RUN mkdir /app
WORKDIR /app
RUN apk --no-cache add --virtual builds-deps build-base python
RUN npm config set python /usr/bin/python
RUN npm i -g npm
RUN npm install
RUN npm rebuild bcrypt --build-from-source
RUN apk del builds-deps
0 голосов
/ 04 июля 2018

Используйте bcryptjs, для этого не требуется устанавливать дополнительные зависимости и перестраивать из исходного кода. Смотри https://www.npmjs.com/package/bcryptjs

Если вы действительно хотите использовать bcrypt, посмотрите их проблему на github и их инструкции . Там есть некоторые обходные пути, но это потребует установки дополнительных зависимостей. Самый простой способ продолжить использование bcrypt - это не использовать альпийскую версию, а версию узла ubuntu (с дополнительными издержками).

...