tardis-dev / tardis-machine

Locally runnable server with built-in data caching, providing both tick-level historical and consolidated real-time cryptocurrency market data via HTTP and WebSocket APIs
https://docs.tardis.dev/api/tardis-machine
Mozilla Public License 2.0
235 stars 46 forks source link

Fail to install 3.1.1 due to uNetworking/uWebSockets.js.git #2

Closed ahonnecke closed 3 years ago

ahonnecke commented 4 years ago

Where this works:

FROM node:12-slim
ENV VERSION_ARG 2.0.0-alpha.0

RUN npm install --global --unsafe-perm tardis-machine@$VERSION_ARG
CMD tardis-machine --cache-dir=/.cache --api-key=<REDACTED>

This does not:

FROM node:12-slim
ENV VERSION_ARG 3.1.1

RUN npm install --global --unsafe-perm tardis-machine@$VERSION_ARG
CMD tardis-machine --cache-dir=/.cache --api-key=<REDACTED>

Manually running that same command:

root@6e640e602cd3:/# npm install --global --unsafe-perm tardis-machine@3.1.1
npm ERR! code ENOENT
npm ERR! syscall spawn git
npm ERR! path git
npm ERR! errno ENOENT
npm ERR! enoent Error while executing:
npm ERR! enoent undefined ls-remote -h -t ssh://git@github.com/uNetworking/uWebSockets.js.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 

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2020-06-11T16_53_38_530Z-debug.log

Logs:

root@6e640e602cd3:/# cat /root/.npm/_logs/2020-06-11T16_53_38_530Z-debug.log
0 info it worked if it ends with ok
1 verbose cli [
1 verbose cli   '/usr/local/bin/node',
1 verbose cli   '/usr/local/bin/npm',
1 verbose cli   'install',
1 verbose cli   '--global',
1 verbose cli   '--unsafe-perm',
1 verbose cli   'tardis-machine@3.1.1'
1 verbose cli ]
2 info using npm@6.14.4
3 info using node@v12.18.0
4 verbose npm-session a7a81c84ef7587bd
5 silly install loadCurrentTree
6 silly install readGlobalPackageData
7 http fetch GET 200 https://registry.npmjs.org/tardis-machine 130ms
8 http fetch GET 200 https://registry.npmjs.org/tardis-machine/-/tardis-machine-3.1.1.tgz 41ms
9 silly pacote version manifest for tardis-machine@3.1.1 fetched in 194ms
10 timing stage:loadCurrentTree Completed in 400ms
11 silly install loadIdealTree
12 silly install cloneCurrentTreeToIdealTree
13 timing stage:loadIdealTree:cloneCurrentTree Completed in 2ms
14 silly install loadShrinkwrap
15 timing stage:loadIdealTree:loadShrinkwrap Completed in 41ms
16 silly install loadAllDepsIntoIdealTree
17 silly resolveWithNewModule tardis-machine@3.1.1 checking installable status
18 silly removeObsoleteDep removing tardis-machine@2.0.0-alpha.0 from the tree as its been replaced by a newer version or is no longer required
19 silly removeObsoleteDep removing @types/ws@6.0.4 from the tree as its been replaced by a newer version or is no longer required
20 silly removeObsoleteDep removing find-my-way@2.2.3 from the tree as its been replaced by a newer version or is no longer required
21 silly removeObsoleteDep removing fast-decode-uri-component@1.0.1 from the tree as its been replaced by a newer version or is no longer required
22 silly removeObsoleteDep removing safe-regex2@2.0.0 from the tree as its been replaced by a newer version or is no longer required
23 silly removeObsoleteDep removing ret@0.2.2 from the tree as its been replaced by a newer version or is no longer required
24 silly removeObsoleteDep removing semver-store@0.3.0 from the tree as its been replaced by a newer version or is no longer required
25 silly removeObsoleteDep removing is-docker@2.0.0 from the tree as its been replaced by a newer version or is no longer required
26 silly removeObsoleteDep removing tardis-client@2.0.0-alpha.0 from the tree as its been replaced by a newer version or is no longer required
27 silly removeObsoleteDep removing collections@2.0.3 from the tree as its been replaced by a newer version or is no longer required
28 silly removeObsoleteDep removing mini-map@1.0.0 from the tree as its been replaced by a newer version or is no longer required
29 silly removeObsoleteDep removing pop-arrayify@1.0.0 from the tree as its been replaced by a newer version or is no longer required
30 silly removeObsoleteDep removing pop-clear@1.0.0 from the tree as its been replaced by a newer version or is no longer required
31 silly removeObsoleteDep removing pop-clone@1.0.1 from the tree as its been replaced by a newer version or is no longer required
32 silly removeObsoleteDep removing pop-equals@1.0.0 from the tree as its been replaced by a newer version or is no longer required
33 silly removeObsoleteDep removing pop-compare@1.0.0 from the tree as its been replaced by a newer version or is no longer required
34 silly removeObsoleteDep removing pop-has@1.0.0 from the tree as its been replaced by a newer version or is no longer required
35 silly removeObsoleteDep removing pop-hash@1.0.1 from the tree as its been replaced by a newer version or is no longer required
36 silly removeObsoleteDep removing weak-map@1.0.5 from the tree as its been replaced by a newer version or is no longer required
37 silly removeObsoleteDep removing pop-iterate@1.0.1 from the tree as its been replaced by a newer version or is no longer required
38 silly removeObsoleteDep removing pop-observe@2.0.2 from the tree as its been replaced by a newer version or is no longer required
39 silly removeObsoleteDep removing pop-swap@1.0.0 from the tree as its been replaced by a newer version or is no longer required
40 silly removeObsoleteDep removing pop-zip@1.0.0 from the tree as its been replaced by a newer version or is no longer required
41 silly removeObsoleteDep removing regexp-escape@0.0.1 from the tree as its been replaced by a newer version or is no longer required
42 silly removeObsoleteDep removing debug@4.1.1 from the tree as its been replaced by a newer version or is no longer required
43 silly removeObsoleteDep removing ms@2.1.2 from the tree as its been replaced by a newer version or is no longer required
44 silly removeObsoleteDep removing fs-extra@8.1.0 from the tree as its been replaced by a newer version or is no longer required
45 silly removeObsoleteDep removing graceful-fs@4.2.4 from the tree as its been replaced by a newer version or is no longer required
46 silly removeObsoleteDep removing jsonfile@4.0.0 from the tree as its been replaced by a newer version or is no longer required
47 silly removeObsoleteDep removing universalify@0.1.2 from the tree as its been replaced by a newer version or is no longer required
48 silly removeObsoleteDep removing got@10.7.0 from the tree as its been replaced by a newer version or is no longer required
49 silly removeObsoleteDep removing @sindresorhus/is@2.1.1 from the tree as its been replaced by a newer version or is no longer required
50 silly removeObsoleteDep removing @szmarczak/http-timer@4.0.5 from the tree as its been replaced by a newer version or is no longer required
51 silly removeObsoleteDep removing defer-to-connect@2.0.0 from the tree as its been replaced by a newer version or is no longer required
52 silly removeObsoleteDep removing @types/cacheable-request@6.0.1 from the tree as its been replaced by a newer version or is no longer required
53 silly removeObsoleteDep removing @types/http-cache-semantics@4.0.0 from the tree as its been replaced by a newer version or is no longer required
54 silly removeObsoleteDep removing @types/keyv@3.1.1 from the tree as its been replaced by a newer version or is no longer required
55 silly removeObsoleteDep removing @types/node@14.0.13 from the tree as its been replaced by a newer version or is no longer required
56 silly removeObsoleteDep removing @types/responselike@1.0.0 from the tree as its been replaced by a newer version or is no longer required
57 silly removeObsoleteDep removing cacheable-lookup@2.0.1 from the tree as its been replaced by a newer version or is no longer required
58 silly removeObsoleteDep removing keyv@4.0.1 from the tree as its been replaced by a newer version or is no longer required
59 silly removeObsoleteDep removing json-buffer@3.0.1 from the tree as its been replaced by a newer version or is no longer required
60 silly removeObsoleteDep removing cacheable-request@7.0.1 from the tree as its been replaced by a newer version or is no longer required
61 silly removeObsoleteDep removing clone-response@1.0.2 from the tree as its been replaced by a newer version or is no longer required
62 silly removeObsoleteDep removing mimic-response@1.0.1 from the tree as its been replaced by a newer version or is no longer required
63 silly removeObsoleteDep removing get-stream@5.1.0 from the tree as its been replaced by a newer version or is no longer required
64 silly removeObsoleteDep removing pump@3.0.0 from the tree as its been replaced by a newer version or is no longer required
65 silly removeObsoleteDep removing end-of-stream@1.4.4 from the tree as its been replaced by a newer version or is no longer required
66 silly removeObsoleteDep removing once@1.4.0 from the tree as its been replaced by a newer version or is no longer required
67 silly removeObsoleteDep removing wrappy@1.0.2 from the tree as its been replaced by a newer version or is no longer required
68 silly removeObsoleteDep removing http-cache-semantics@4.1.0 from the tree as its been replaced by a newer version or is no longer required
69 silly removeObsoleteDep removing lowercase-keys@2.0.0 from the tree as its been replaced by a newer version or is no longer required
70 silly removeObsoleteDep removing normalize-url@4.5.0 from the tree as its been replaced by a newer version or is no longer required
71 silly removeObsoleteDep removing responselike@2.0.0 from the tree as its been replaced by a newer version or is no longer required
72 silly removeObsoleteDep removing decompress-response@5.0.0 from the tree as its been replaced by a newer version or is no longer required
73 silly removeObsoleteDep removing mimic-response@2.1.0 from the tree as its been replaced by a newer version or is no longer required
74 silly removeObsoleteDep removing duplexer3@0.1.4 from the tree as its been replaced by a newer version or is no longer required
75 silly removeObsoleteDep removing p-cancelable@2.0.0 from the tree as its been replaced by a newer version or is no longer required
76 silly removeObsoleteDep removing p-event@4.2.0 from the tree as its been replaced by a newer version or is no longer required
77 silly removeObsoleteDep removing p-timeout@3.2.0 from the tree as its been replaced by a newer version or is no longer required
78 silly removeObsoleteDep removing p-finally@1.0.0 from the tree as its been replaced by a newer version or is no longer required
79 silly removeObsoleteDep removing to-readable-stream@2.1.0 from the tree as its been replaced by a newer version or is no longer required
80 silly removeObsoleteDep removing type-fest@0.10.0 from the tree as its been replaced by a newer version or is no longer required
81 silly removeObsoleteDep removing p-map@3.0.0 from the tree as its been replaced by a newer version or is no longer required
82 silly removeObsoleteDep removing aggregate-error@3.0.1 from the tree as its been replaced by a newer version or is no longer required
83 silly removeObsoleteDep removing clean-stack@2.2.0 from the tree as its been replaced by a newer version or is no longer required
84 silly removeObsoleteDep removing indent-string@4.0.0 from the tree as its been replaced by a newer version or is no longer required
85 silly removeObsoleteDep removing ws@7.3.0 from the tree as its been replaced by a newer version or is no longer required
86 silly removeObsoleteDep removing yargs@13.3.2 from the tree as its been replaced by a newer version or is no longer required
87 silly removeObsoleteDep removing cliui@5.0.0 from the tree as its been replaced by a newer version or is no longer required
88 silly removeObsoleteDep removing string-width@3.1.0 from the tree as its been replaced by a newer version or is no longer required
89 silly removeObsoleteDep removing emoji-regex@7.0.3 from the tree as its been replaced by a newer version or is no longer required
90 silly removeObsoleteDep removing is-fullwidth-code-point@2.0.0 from the tree as its been replaced by a newer version or is no longer required
91 silly removeObsoleteDep removing strip-ansi@5.2.0 from the tree as its been replaced by a newer version or is no longer required
92 silly removeObsoleteDep removing ansi-regex@4.1.0 from the tree as its been replaced by a newer version or is no longer required
93 silly removeObsoleteDep removing wrap-ansi@5.1.0 from the tree as its been replaced by a newer version or is no longer required
94 silly removeObsoleteDep removing ansi-styles@3.2.1 from the tree as its been replaced by a newer version or is no longer required
95 silly removeObsoleteDep removing color-convert@1.9.3 from the tree as its been replaced by a newer version or is no longer required
96 silly removeObsoleteDep removing color-name@1.1.3 from the tree as its been replaced by a newer version or is no longer required
97 silly removeObsoleteDep removing find-up@3.0.0 from the tree as its been replaced by a newer version or is no longer required
98 silly removeObsoleteDep removing locate-path@3.0.0 from the tree as its been replaced by a newer version or is no longer required
99 silly removeObsoleteDep removing p-locate@3.0.0 from the tree as its been replaced by a newer version or is no longer required
100 silly removeObsoleteDep removing p-limit@2.3.0 from the tree as its been replaced by a newer version or is no longer required
101 silly removeObsoleteDep removing p-try@2.2.0 from the tree as its been replaced by a newer version or is no longer required
102 silly removeObsoleteDep removing path-exists@3.0.0 from the tree as its been replaced by a newer version or is no longer required
103 silly removeObsoleteDep removing get-caller-file@2.0.5 from the tree as its been replaced by a newer version or is no longer required
104 silly removeObsoleteDep removing require-directory@2.1.1 from the tree as its been replaced by a newer version or is no longer required
105 silly removeObsoleteDep removing require-main-filename@2.0.0 from the tree as its been replaced by a newer version or is no longer required
106 silly removeObsoleteDep removing set-blocking@2.0.0 from the tree as its been replaced by a newer version or is no longer required
107 silly removeObsoleteDep removing which-module@2.0.0 from the tree as its been replaced by a newer version or is no longer required
108 silly removeObsoleteDep removing y18n@4.0.0 from the tree as its been replaced by a newer version or is no longer required
109 silly removeObsoleteDep removing yargs-parser@13.1.2 from the tree as its been replaced by a newer version or is no longer required
110 silly removeObsoleteDep removing camelcase@5.3.1 from the tree as its been replaced by a newer version or is no longer required
111 silly removeObsoleteDep removing decamelize@1.2.0 from the tree as its been replaced by a newer version or is no longer required
112 silly fetchPackageMetaData error for uWebSockets.js@github:uNetworking/uWebSockets.js#v17.3.0 Error while executing:
112 silly fetchPackageMetaData undefined ls-remote -h -t ssh://git@github.com/uNetworking/uWebSockets.js.git
112 silly fetchPackageMetaData
112 silly fetchPackageMetaData
112 silly fetchPackageMetaData spawn git ENOENT
113 http fetch GET 200 https://registry.npmjs.org/tardis-dev 58ms
114 http fetch GET 304 https://registry.npmjs.org/find-my-way 128ms (from cache)
115 http fetch GET 200 https://registry.npmjs.org/tardis-dev/-/tardis-dev-10.1.9.tgz 68ms
116 silly pacote range manifest for find-my-way@^2.2.2 fetched in 134ms
117 silly resolveWithNewModule find-my-way@2.2.3 checking installable status
118 http fetch GET 304 https://registry.npmjs.org/is-docker 134ms (from cache)
119 http fetch GET 304 https://registry.npmjs.org/debug 138ms (from cache)
120 silly pacote range manifest for is-docker@^2.0.0 fetched in 137ms
121 silly resolveWithNewModule is-docker@2.0.0 checking installable status
122 http fetch GET 304 https://registry.npmjs.org/yargs 130ms (from cache)
123 silly pacote range manifest for debug@^4.1.1 fetched in 146ms
124 silly resolveWithNewModule debug@4.1.1 checking installable status
125 silly pacote range manifest for tardis-dev@^10.1.3 fetched in 144ms
126 silly resolveWithNewModule tardis-dev@10.1.9 checking installable status
127 http fetch GET 200 https://registry.npmjs.org/yargs/-/yargs-15.3.1.tgz 40ms
128 silly pacote range manifest for yargs@^15.3.1 fetched in 179ms
129 silly resolveWithNewModule yargs@15.3.1 checking installable status
130 timing stage:rollbackFailedOptional Completed in 1ms
131 timing stage:runTopLevelLifecycles Completed in 645ms
132 verbose stack Error: spawn git ENOENT
132 verbose stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:267:19)
132 verbose stack     at onErrorNT (internal/child_process.js:469:16)
132 verbose stack     at processTicksAndRejections (internal/process/task_queues.js:84:21)
133 verbose cwd /
134 verbose Linux 5.3.0-1017-aws
135 verbose argv "/usr/local/bin/node" "/usr/local/bin/npm" "install" "--global" "--unsafe-perm" "tardis-machine@3.1.1"
136 verbose node v12.18.0
137 verbose npm  v6.14.4
138 error code ENOENT
139 error syscall spawn git
140 error path git
141 error errno ENOENT
142 error enoent Error while executing:
142 error enoent undefined ls-remote -h -t ssh://git@github.com/uNetworking/uWebSockets.js.git
142 error enoent
142 error enoent
142 error enoent spawn git ENOENT
143 error enoent This is related to npm not being able to find a file.
144 verbose exit [ 1, true ]
ahonnecke commented 4 years ago

Same behavior on node:strech-slim

ahonnecke commented 4 years ago

root@6e640e602cd3:/# npm cache clean -f npm WARN using --force I sure hope you know what you are doing. Did not fix it.

thaaddeus commented 4 years ago

See https://github.com/tardis-dev/tardis-machine/blob/master/Dockerfile, v3 requires git installed due to uWebsockets.js not being available on npm.

thaaddeus commented 4 years ago

I'll be closing this issue in few days unless you confirm that you still can't solve the issue given my previous answer.