0

I am trying to install Apache Superset on Windows 10 using the Docker Container on Docker Desktop Community Edition version 2.1.0.5. I am following the recommendation from the Superset documentation at https://superset.incubator.apache.org/installation.html#superset-installation-and-initialization "Start with Docker"

I keep getting the same error when I run docker-compose up or docker-compose run -e SUPERSET_LOAD_EXAMPLES=yes --rm superset ./docker-init.sh.

I've tried upgrading npm with npm update and caniuse-lite, but the npm build seems to download another outdated version of caniuse-lite every time, so it never gets the updated version while it is building SuperSet.

The Superset build always gets to Step 11/32 and fails with the error below:

PS C:\users\lysak\incubator-superset> docker-compose run -e SUPERSET_LOAD_EXAMPLES=yes --rm superset ./docker-init.sh
Creating incubator-superset_postgres_1 ... done                                                                                                                                        Creating incubator-superset_redis_1    ... done                                                                                                                                        Building superset
Step 1/32 : ARG PY_VER=3.6.9
Step 2/32 : FROM python:${PY_VER} AS superset-py
 ---> 5bf410ee7bb2
Step 3/32 : RUN mkdir /app         && apt-get update -y         && apt-get install -y --no-install-recommends             build-essential             default-libmysqlclient-dev             libpq-dev         && rm -rf /var/lib/apt/lists/*
 ---> Using cache
 ---> ab9bca097c76
Step 4/32 : COPY ./requirements.txt /app/
 ---> Using cache
 ---> 7fb9af974dfc
Step 5/32 : RUN cd /app         && pip install --no-cache -r requirements.txt
 ---> Using cache
 ---> de369d00ea55

Step 6/32 : FROM node:10-jessie AS superset-node
 ---> 48b88f03a78a
Step 7/32 : RUN mkdir -p /app/superset/assets
 ---> Using cache
 ---> a4c90f0692c5
Step 8/32 : COPY ./superset/assets/package* /app/superset/assets/
 ---> Using cache
 ---> 48144fc78100
Step 9/32 : RUN cd /app/superset/assets         && npm ci
 ---> Using cache
 ---> 17ef2a24d08a
Step 10/32 : COPY ./superset/assets /app/superset/assets
 ---> Using cache
 ---> 524aabe08d04
Step 11/32 : RUN cd /app/superset/assets         && npm run build         && rm -rf node_modules
 ---> Running in 649d97f7d7c7

> superset@0.999.0-dev build /app/superset/assets
> cross-env NODE_OPTIONS=--max_old_space_size=8192 NODE_ENV=production webpack --mode=production --colors --progress

clean-webpack-plugin: /app/superset/assets/dist has been removed.
Starting type checking service...
Using 1 worker with 2048MB memory limit
 92% chunk asset optimization OptimizeCssAssetsWebpackPluginBrowserslist: caniuse-lite is outdated. Please run next command `npm update`
 92% chunk asset optimization TerserPluginnpm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! superset@0.999.0-dev build: `cross-env NODE_OPTIONS=--max_old_space_size=8192 NODE_ENV=production webpack --mode=production --colors --progress`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the superset@0.999.0-dev build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2019-12-06T03_31_57_536Z-debug.log
ERROR: Service 'superset' failed to build: The command '/bin/sh -c cd /app/superset/assets         && npm run build         && rm -rf node_modules' returned a non-zero code: 1
PS C:\users\lysak\incubator-superset>
TylerH
  • 20,799
  • 66
  • 75
  • 101
Rich Lysakowski PhD
  • 2,702
  • 31
  • 44

1 Answers1

0

It currently does not play well with Windows. A part of the installation involves the creation of a unix symlink, which won't work. There's a proposal to fix this, which hopefully will go through soon. Here's a link: https://github.com/apache/incubator-superset/issues/8805

Evan Rusackas
  • 579
  • 4
  • 6
  • Thanks for your specific answer. This may be something I can work through. Could you explain the purpose of the symlink, so that perhaps we can substitute an equivalent mechanism into the Windows implementation? How many such symlinks are created during the installation, and if there are many of them, is there a convenient discovery mechanism for finding and replacing them all? Perhaps I could use a python script with a regex to go through the code to do the replacement. – Rich Lysakowski PhD Dec 25 '19 at 22:04