bfritscher / typesense-dashboard

A Typesense Dashboard to manage and browse collections.
https://bfritscher.github.io/typesense-dashboard/
GNU General Public License v3.0
326 stars 63 forks source link

build fails on MacOS Big Sur /Intel processor #21

Closed akamil-etsy closed 8 months ago

akamil-etsy commented 1 year ago

i tried reversing the changes in this PR but still getting the same error.

the original error with v1.3.0:

docker build -t typesense-dashboard .

[+] Building 190.5s (15/17)                                                                                                           
 => [internal] load build definition from Dockerfile                                                                             0.0s
 => => transferring dockerfile: 457B                                                                                             0.0s
 => [internal] load .dockerignore                                                                                                0.0s
 => => transferring context: 80B                                                                                                 0.0s
 => [internal] load metadata for docker.io/library/caddy:2-alpine                                                                1.9s
 => [internal] load metadata for docker.io/library/node:18-alpine                                                                2.0s
 => [builder 1/9] FROM docker.io/library/node:18-alpine@sha256:fda98168118e5a8f4269efca4101ee51dd5c75c0fe56d8eb6fad80455c2f5827  6.6s
 => => resolve docker.io/library/node:18-alpine@sha256:fda98168118e5a8f4269efca4101ee51dd5c75c0fe56d8eb6fad80455c2f5827          0.0s
 => => sha256:0fa3bdf9cc11f3055e37f15ba4f29101e45a6266a6e7eee26ab92183908b19b4 46.93MB / 46.93MB                                 1.9s
 => => sha256:092122bdc81dfcba73d372e7bee1790d1b350c13ecbeef6f80d16f3351d12cc8 2.35MB / 2.35MB                                   2.2s
 => => sha256:fda98168118e5a8f4269efca4101ee51dd5c75c0fe56d8eb6fad80455c2f5827 1.43kB / 1.43kB                                   0.0s
 => => sha256:09faa7dabeae557cb6baff17be5b216fc4e3c9608aa04fe71695aad3d229a9c7 1.16kB / 1.16kB                                   0.0s
 => => sha256:264f8646c2a67d53f10446331ede8afc486055ecbac157e4613afe22d6325e06 6.44kB / 6.44kB                                   0.0s
 => => sha256:8921db27df2831fa6eaa85321205a2470c669b855f3ec95d5a3c2b46de0442c9 3.37MB / 3.37MB                                   1.8s
 => => extracting sha256:8921db27df2831fa6eaa85321205a2470c669b855f3ec95d5a3c2b46de0442c9                                        0.7s
 => => sha256:bb654436a2bdf119a00dccfd2b2c4c8f6dd0a6fffb1139aea778bd98ebd86b95 450B / 450B                                       2.0s
 => => extracting sha256:0fa3bdf9cc11f3055e37f15ba4f29101e45a6266a6e7eee26ab92183908b19b4                                        3.0s
 => => extracting sha256:092122bdc81dfcba73d372e7bee1790d1b350c13ecbeef6f80d16f3351d12cc8                                        0.2s
 => => extracting sha256:bb654436a2bdf119a00dccfd2b2c4c8f6dd0a6fffb1139aea778bd98ebd86b95                                        0.0s
 => [internal] load build context                                                                                                0.1s
 => => transferring context: 2.74MB                                                                                              0.1s
 => [stage-1 1/3] FROM docker.io/library/caddy:2-alpine@sha256:25a0097607868fb05a89a5ab9fea2f2ea4cecdc89d887d7dcee8c778a21b9e1f  4.5s
 => => resolve docker.io/library/caddy:2-alpine@sha256:25a0097607868fb05a89a5ab9fea2f2ea4cecdc89d887d7dcee8c778a21b9e1f          0.0s
 => => sha256:25a0097607868fb05a89a5ab9fea2f2ea4cecdc89d887d7dcee8c778a21b9e1f 1.43kB / 1.43kB                                   0.0s
 => => sha256:7992b931b7da3cf0840dd69ea74b2c67d423faf03408da8abdc31b7590a239a7 1.36kB / 1.36kB                                   0.0s
 => => sha256:006d393a4e6a01f82413e41b3e0f06dfb1872d5ca6a37aba315e4ec9e2cc6c4c 7.97kB / 7.97kB                                   0.0s
 => => sha256:213ec9aee27d8be045c6a92b7eac22c9a64b44558193775a1a7f626352392b49 2.81MB / 2.81MB                                   2.3s
 => => sha256:5625668cf98fd3e4d769f18d45f27e34fe3d085cfb9927ff7ad2cdc84d8c493f 304.52kB / 304.52kB                               2.3s
 => => sha256:675d09b34c5347b62625d31b2a458824240b90e51d18bcc38ad37d317e83d64c 5.83kB / 5.83kB                                   2.4s
 => => extracting sha256:213ec9aee27d8be045c6a92b7eac22c9a64b44558193775a1a7f626352392b49                                        0.3s
 => => sha256:f1747be7065842ba85f86aed65e75608dfd2f546ab9d8ecd4a8842c8f4634795 14.56MB / 14.56MB                                 3.4s
 => => sha256:db8ee6c4c21d12cd28fcd0e196acb8569f35518dc36c691c91b4c8ca1928bf9d 154B / 154B                                       2.5s
 => => extracting sha256:5625668cf98fd3e4d769f18d45f27e34fe3d085cfb9927ff7ad2cdc84d8c493f                                        0.1s
 => => extracting sha256:675d09b34c5347b62625d31b2a458824240b90e51d18bcc38ad37d317e83d64c                                        0.0s
 => => extracting sha256:f1747be7065842ba85f86aed65e75608dfd2f546ab9d8ecd4a8842c8f4634795                                        0.7s
 => => extracting sha256:db8ee6c4c21d12cd28fcd0e196acb8569f35518dc36c691c91b4c8ca1928bf9d                                        0.0s
 => [stage-1 2/3] WORKDIR /srv                                                                                                   0.1s
 => [builder 2/9] WORKDIR /app                                                                                                   0.1s
 => [builder 3/9] RUN apk add --no-cache --virtual .gyp         g++ make py3-pip                                                 7.2s
 => [builder 4/9] RUN yarn global add @quasar/cli                                                                               17.4s
 => [builder 5/9] COPY package.json yarn.lock ./                                                                                 0.0s
 => [builder 6/9] RUN yarn install                                                                                              97.4s
 => [builder 7/9] COPY . .                                                                                                       0.1s
 => ERROR [builder 8/9] RUN quasar build                                                                                        59.6s
------
 > [builder 8/9] RUN quasar build:
#12 1.086 
#12 1.086  Build mode........ spa
#12 1.086  Pkg quasar........ v2.10.2
#12 1.086  Pkg @quasar/app... v3.3.3
#12 1.086  Pkg webpack....... v5
#12 1.086  Debugging......... no
#12 1.086  Publishing........ no
#12 1.086 
#12 1.089 Browserslist: caniuse-lite is outdated. Please run:
#12 1.089   npx browserslist@latest --update-db
#12 1.089   Why you should do it regularly: https://github.com/browserslist/browserslist#browsers-data-updating
#12 1.093  Configured browser support (>= 87.48% of global marketshare):
#12 1.093  · Chrome for Android >= 99
#12 1.093  · Firefox for Android >= 96
#12 1.093  · Android >= 99
#12 1.093  · Chrome >= 91
#12 1.093  · Edge >= 96
#12 1.093  · Firefox >= 89
#12 1.093  · iOS >= 12.2-12.5
#12 1.093  · Opera >= 79
#12 1.093  · Safari >= 13.1
#12 1.093 
#12 3.397  App • Chaining "UI" Webpack config
#12 3.494  App • Extending "UI" Webpack config
#12 3.521  App • Cleaned build artifact: "/app/dist/spa"
#12 4.537  App •  WAIT  • Compiling of "UI" in progress...
#12 59.27 /app/node_modules/fork-ts-checker-webpack-plugin/lib/rpc/rpc-ipc/RpcIpcMessagePort.js:19
#12 59.27         closedError = new RpcIpcMessagePortClosedError_1.RpcIpcMessagePortClosedError(code
#12 59.27                       ^
#12 59.27 
#12 59.27 [  RpcIpcMessagePortClosedError: Process 32 exited [SIGKILL].
#12 59.27   
#12 59.27   - RpcIpcMessagePort.js:19 
#12 59.27     [app]/[fork-ts-checker-webpack-plugin]/lib/rpc/rpc-ipc/RpcIpcMessagePort.js:    19:23
#12 59.27   
#12 59.27   - Generator.next
#12 59.27   
#12 59.27   - RpcIpcMessagePort.js:8 
#12 59.27     [app]/[fork-ts-checker-webpack-plugin]/lib/rpc/rpc-ipc/RpcIpcMessagePort.js:    8:71
#12 59.27   
#12 59.27   - new Promise
#12 59.27   
#12 59.27   - RpcIpcMessagePort.js:4 __awaiter
#12 59.27     [app]/[fork-ts-checker-webpack-plugin]/lib/rpc/rpc-ipc/RpcIpcMessagePort.js:    4:12
#12 59.27   
#12 59.27   - RpcIpcMessagePort.js:18 ChildProcess.handleExit
#12 59.27     [app]/[fork-ts-checker-webpack-plugin]/lib/rpc/rpc-ipc/RpcIpcMessagePort.js:    18:42
#12 59.27   
#12 59.27   - node:events:513 ChildProcess.emit
#12 59.27     node:events:513:28
#12 59.27   
#12 59.27   - child_process:291 ChildProcess._handle.onexit
#12 59.27     node:internal/child_process:291:12
#12 59.27   
#12 59.27 ] {
#12 59.27   code: null,
#12 59.27   signal: 'SIGKILL'
#12 59.27 }
#12 59.27 
#12 59.27 Node.js v18.13.0
------
executor failed running [/bin/sh -c quasar build]: exit code: 1
bfritscher commented 1 year ago

Hi, can you try deleting yarn.lock and removing it from the dockerfile COPY command?

akamil-etsy commented 1 year ago

same error. i removed yarn.lock file and removed it from dockerfile COPY command, and ran docker build with --no-cache option separately also tried the same after commenting out the lines added in PR16. also restarted the mac as it was low on memory but it didn't help it works fine from windows or linux vm but not from my Mac, I guess I can try building some dummy quasar app from their official site and see if it works

bfritscher commented 1 year ago

Quasar released a new cli maybe it fixed your build problem? https://www.npmjs.com/package/@quasar/cli Does the built dockerimage work?

apperside commented 3 months ago

Hello, same problem here, how did you solved the problem @akamil-etsy (I you ever solved it 😂)? This is the output of docker build

DEPRECATED: The legacy builder is deprecated and will be removed in a future release.
            Install the buildx component to build images with BuildKit:
            https://docs.docker.com/go/buildx/

Sending build context to Docker daemon  2.482MB
Step 1/17 : ARG PUBLIC_PATH=/
Step 2/17 : FROM --platform=linux/amd64 node:18-alpine as builder
 ---> 3bf7cda95541
Step 3/17 : ARG PUBLIC_PATH
 ---> Using cache
 ---> 75903852d501
Step 4/17 : WORKDIR /app
 ---> Using cache
 ---> 37e342d3ac7a
Step 5/17 : RUN apk add --no-cache --virtual .gyp         g++ make py3-pip
 ---> Using cache
 ---> 19846d5737ec
Step 6/17 : RUN yarn global add @quasar/cli
 ---> Using cache
 ---> 03f1e3c10fcd
Step 7/17 : COPY package.json ./
 ---> 97d6c1f3579d
Step 8/17 : RUN yarn install
 ---> Running in 0844fa825a9b
yarn install v1.22.19
info No lockfile found.
[1/5] Validating package.json...
[2/5] Resolving packages...
warning vue-instantsearch > instantsearch.js > hogan.js > mkdirp@0.3.0: Legacy versions of mkdirp are no longer supported. Please update to mkdirp 1.x. (Note that the API surface has changed to use Promises in 1.x.)
warning @quasar/app-webpack > webpack-chain@6.5.1: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info.
warning @quasar/app-webpack > fork-ts-checker-webpack-plugin > glob@7.2.3: Glob versions prior to v9 are no longer supported
warning @quasar/app-webpack > archiver > archiver-utils > glob@7.2.3: Glob versions prior to v9 are no longer supported
warning @quasar/app-webpack > archiver > zip-stream > archiver-utils > glob@7.2.3: Glob versions prior to v9 are no longer supported
warning @quasar/app-webpack > fork-ts-checker-webpack-plugin > memfs@3.6.0: this will be v4
warning @quasar/app-webpack > webpack-dev-server > rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
warning @quasar/app-webpack > webpack-dev-server > rimraf > glob@7.2.3: Glob versions prior to v9 are no longer supported
warning @quasar/app-webpack > webpack-dev-server > webpack-dev-middleware > memfs@3.6.0: this will be v4
warning @quasar/app-webpack > fork-ts-checker-webpack-plugin > glob > inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
warning @quasar/app-webpack > cssnano > cssnano-preset-default > postcss-svgo > svgo > stable@0.1.8: Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility
warning electron-installer-zip > archiver > glob@6.0.4: Glob versions prior to v9 are no longer supported
warning electron-installer-zip > fs-extra > rimraf@2.7.1: Rimraf versions prior to v4 are no longer supported
warning electron-installer-zip > archiver > archiver-utils > glob@6.0.4: Glob versions prior to v9 are no longer supported
warning electron-installer-zip > archiver > glob > inflight@1.0.6: This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.
warning electron-installer-zip > fs-extra > rimraf > glob@7.2.3: Glob versions prior to v9 are no longer supported
warning electron-installer-zip > zip-folder > archiver > glob@3.2.11: Glob versions prior to v9 are no longer supported
warning electron-installer-zip > zip-folder > archiver > glob > minimatch@0.3.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
warning electron-packager@17.1.2: Please use @electron/packager moving forward. There is no API change, just a package name change
warning electron-packager > @electron/asar > glob@7.2.3: Glob versions prior to v9 are no longer supported
warning eslint > file-entry-cache > flat-cache > rimraf@3.0.2: Rimraf versions prior to v4 are no longer supported
warning eslint > @humanwhocodes/config-array@0.11.14: Use @eslint/config-array instead
warning eslint > @humanwhocodes/config-array > @humanwhocodes/object-schema@2.0.3: Use @eslint/object-schema instead
[3/5] Fetching packages...
[4/5] Linking dependencies...
warning " > monaco-editor-webpack-plugin@7.1.0" has unmet peer dependency "webpack@^4.5.0 || 5.x".
warning " > vue-instantsearch@4.15.0" has unmet peer dependency "algoliasearch@>= 3.32.0 < 5".
warning "vue-instantsearch > instantsearch.js@4.66.1" has unmet peer dependency "algoliasearch@>= 3.1 < 6".
warning "vue-instantsearch > instantsearch.js > algoliasearch-helper@3.17.0" has unmet peer dependency "algoliasearch@>= 3.1 < 6".
warning " > @babel/eslint-parser@7.24.1" has unmet peer dependency "@babel/core@^7.11.0".
warning "@typescript-eslint/eslint-plugin > ts-api-utils@1.3.0" has unmet peer dependency "typescript@>=4.2.0".
warning "@vue/devtools > @vue/devtools-electron > @vue/devtools-core > vite-hot-client@0.2.3" has unmet peer dependency "vite@^2.6.0 || ^3.0.0 || ^4.0.0 || ^5.0.0-0".
[5/5] Building fresh packages...
success Saved lockfile.
Done in 148.84s.
 ---> Removed intermediate container 0844fa825a9b
 ---> c423b1bcef26
Step 9/17 : COPY . .
 ---> 4726b5e088ec
Step 10/17 : RUN quasar build
 ---> Running in 3157b0a90fe2

 .d88888b.
d88P" "Y88b
888     888
888     888 888  888  8888b.  .d8888b   8888b.  888d888
888     888 888  888     "88b 88K          "88b 888P"
888 Y8b 888 888  888 .d888888 "Y8888b. .d888888 888
Y88b.Y8b88P Y88b 888 888  888      X88 888  888 888
 "Y888888"   "Y88888 "Y888888  88888P' "Y888888 888
       Y8b

 Build mode................ spa
 Pkg quasar................ v2.15.2
 Pkg @quasar/app-webpack... v3.12.4
 Pkg webpack............... v5
 Debugging................. no
 Publishing................ no

 Configured browser support (>= 84.21% of global marketshare):
 · Chrome for Android >= 125
 · Firefox for Android >= 126
 · Android >= 125
 · Chrome >= 117
 · Edge >= 122
 · Firefox >= 118
 · iOS >= 16.3
 · Opera >= 106
 · Safari >= 16.6

 App • Chaining "UI" Webpack config
 App • Extending "UI" Webpack config
 App • Cleaned build artifact: "/app/dist/spa"
 App •  WAIT  • Compiling of "UI" in progress...
/app/node_modules/fork-ts-checker-webpack-plugin/lib/rpc/rpc-ipc/RpcIpcMessagePort.js:19
        closedError = new RpcIpcMessagePortClosedError_1.RpcIpcMessagePortClosedError(code
                      ^

RpcIpcMessagePortClosedError: Process 31 exited [SIGKILL].
    at /app/node_modules/fork-ts-checker-webpack-plugin/lib/rpc/rpc-ipc/RpcIpcMessagePort.js:19:23
    at Generator.next (<anonymous>)
    at /app/node_modules/fork-ts-checker-webpack-plugin/lib/rpc/rpc-ipc/RpcIpcMessagePort.js:8:71
    at new Promise (<anonymous>)
    at __awaiter (/app/node_modules/fork-ts-checker-webpack-plugin/lib/rpc/rpc-ipc/RpcIpcMessagePort.js:4:12)
    at ChildProcess.handleExit (/app/node_modules/fork-ts-checker-webpack-plugin/lib/rpc/rpc-ipc/RpcIpcMessagePort.js:18:42)
    at ChildProcess.emit (node:events:517:28)
    at ChildProcess._handle.onexit (node:internal/child_process:292:12) {
  code: null,
  signal: 'SIGKILL'
}

Node.js v18.20.3
The command '/bin/sh -c quasar build' returned a non-zero code: 1
bfritscher commented 3 months ago

Based on some other similar errors on other projects, it could also be a memory issue. Do you have enough free memory during building? What command did you use to build? With which version of docker?