Before I added bcrypt to my package.json, everything was working fine. Now, I get the error message below.
This is an excerpt of my package.json:
JavaScript
x
10
10
1
"dependencies": {
2
"bcrypt": "3.0.6",
3
"express": "^4.17.1",
4
"mongodb": "^3.3.1",
5
"nodemailer": "^6.3.0",
6
"pm2": "^3.5.1",
7
"redis": "^2.8.0",
8
"xlsx": "^0.15.0"
9
},
10
This is my dockerfile. I am using the offical node alpine image. I wonder if alpine has phyton already installed.
JavaScript
1
8
1
FROM node:13.5.0-alpine
2
3
WORKDIR /usr/app
4
5
COPY ./src .
6
7
RUN npm install
8
I get this error message when I run docker-compose:
JavaScript
1
74
74
1
node-pre-gyp WARN Using request for node-pre-gyp https download
2
node-pre-gyp WARN Tried to download(404): https://github.com/kelektiv/node.bcrypt.js/releases/download/v3.0.6/bcrypt_lib-v3.0.6-node-v79-linux-x64-musl.tar.gz
3
node-pre-gyp WARN Pre-built binaries not found for bcrypt@3.0.6 and node@13.5.0 (node-v79 ABI, musl) (falling back to source compile with node-gyp)
4
gyp ERR! find Python
5
gyp ERR! find Python Python is not set from command line or npm configuration
6
gyp ERR! find Python Python is not set from environment variable PYTHON
7
gyp ERR! find Python checking if "python" can be used
8
gyp ERR! find Python - "python" is not in PATH or produced an error
9
gyp ERR! find Python checking if "python2" can be used
10
gyp ERR! find Python - "python2" is not in PATH or produced an error
11
gyp ERR! find Python checking if "python3" can be used
12
gyp ERR! find Python - "python3" is not in PATH or produced an error
13
gyp ERR! find Python
14
gyp ERR! find Python **********************************************************
15
gyp ERR! find Python You need to install the latest version of Python.
16
gyp ERR! find Python Node-gyp should be able to find and use Python. If not,
17
gyp ERR! find Python you can try one of the following options:
18
gyp ERR! find Python - Use the switch --python="/path/to/pythonexecutable"
19
gyp ERR! find Python (accepted by both node-gyp and npm)
20
gyp ERR! find Python - Set the environment variable PYTHON
21
gyp ERR! find Python - Set the npm configuration variable python:
22
gyp ERR! find Python npm config set python "/path/to/pythonexecutable"
23
gyp ERR! find Python For more information consult the documentation at:
24
gyp ERR! find Python https://github.com/nodejs/node-gyp#installation
25
gyp ERR! find Python **********************************************************
26
gyp ERR! find Python
27
28
gyp ERR! configure error
29
gyp ERR! stack Error: Could not find any Python installation to use
30
gyp ERR! stack at PythonFinder.fail (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:307:47)
31
gyp ERR! stack at PythonFinder.runChecks (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:136:21)
32
gyp ERR! stack at PythonFinder.<anonymous> (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:179:16)
33
gyp ERR! stack at PythonFinder.execFileCallback (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/find-python.js:271:16)
34
gyp ERR! stack at exithandler (child_process.js:309:5)
35
gyp ERR! stack at ChildProcess.errorhandler (child_process.js:321:5)
36
gyp ERR! stack at ChildProcess.emit (events.js:305:20)
37
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:273:12)
38
gyp ERR! stack at onErrorNT (internal/child_process.js:469:16)
39
gyp ERR! stack at processTicksAndRejections (internal/process/task_queues.js:84:21)
40
gyp ERR! System Linux 4.15.0-47-generic
41
gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "--fallback-to-build" "--module=/usr/app/node_modules/bcrypt/lib/binding/bcrypt_lib.node" "--module_name=bcrypt_lib" "--module_path=/usr/app/node_modules/bcrypt/lib/binding" "--napi_version=5" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v79"
42
gyp ERR! cwd /usr/app/node_modules/bcrypt
43
gyp ERR! node -v v13.5.0
44
gyp ERR! node-gyp -v v5.0.5
45
gyp ERR! not ok
46
node-pre-gyp ERR! build error
47
node-pre-gyp ERR! stack Error: Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/usr/app/node_modules/bcrypt/lib/binding/bcrypt_lib.node --module_name=bcrypt_lib --module_path=/usr/app/node_modules/bcrypt/lib/binding --napi_version=5 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v79' (1)
48
node-pre-gyp ERR! stack at ChildProcess.<anonymous> (/usr/app/node_modules/node-pre-gyp/lib/util/compile.js:83:29)
49
node-pre-gyp ERR! stack at ChildProcess.emit (events.js:305:20)
50
node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:1028:16)
51
node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5)
52
node-pre-gyp ERR! System Linux 4.15.0-47-generic
53
node-pre-gyp ERR! command "/usr/local/bin/node" "/usr/app/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build"
54
node-pre-gyp ERR! cwd /usr/app/node_modules/bcrypt
55
node-pre-gyp ERR! node -v v13.5.0
56
node-pre-gyp ERR! node-pre-gyp -v v0.12.0
57
node-pre-gyp ERR! not ok
58
Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/usr/app/node_modules/bcrypt/lib/binding/bcrypt_lib.node --module_name=bcrypt_lib --module_path=/usr/app/node_modules/bcrypt/lib/binding --napi_version=5 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v79' (1)
59
npm WARN testapp@0.0.1 No repository field.
60
npm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.11 (node_modules/fsevents):
61
npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.11: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})
62
63
npm ERR! code ELIFECYCLE
64
npm ERR! errno 1
65
npm ERR! bcrypt@3.0.6 install: `node-pre-gyp install --fallback-to-build`
66
npm ERR! Exit status 1
67
npm ERR!
68
npm ERR! Failed at the bcrypt@3.0.6 install script.
69
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
70
71
npm ERR! A complete log of this run can be found in:
72
npm ERR! /root/.npm/_logs/2019-12-24T14_22_05_060Z-debug.log
73
ERROR: Service 'web' failed to build: The command '/bin/sh -c npm install' returned a non-zero code: 1
74
How can I solve this issue? Do I have to install phyton on alpine or just add the env variable? If so, please tell me how. I have already searched for solutions but no one worked …
Advertisement
Answer
For the sake of completeness: I solved it.
The solution was to replace the dependency “bcrypt” with “bcryptjs“.
With bcryptjs there are no errors. Neither with standard node docker images nor node alpine docker images.