binary-butterfly / shared-delivery

13 stars 10 forks source link

Initiale Installation schlägt fehl #16

Closed timvancleef closed 4 years ago

timvancleef commented 4 years ago

Hallo zusammen, ich habe die Tage vergeblich versucht das Projekt lokal bei mir aufzusetzen 🙈 Dabei kamen Fehler bei docker-compose up und beim Initialisieren der DB python manage.py db upgrade.

Fehler bei docker-compose up:

shared-delivery-gulp | /app/node_modules/node-sass/lib/binding.js:15
shared-delivery-gulp |       throw new Error(errors.missingBinary());
shared-delivery-gulp |       ^
shared-delivery-gulp |
shared-delivery-gulp | Error: Missing binding /app/node_modules/node-sass/vendor/linux-x64-72/binding.node
shared-delivery-gulp | Node Sass could not find a binding for your current environment: Linux 64-bit with Node.js 12.x
shared-delivery-gulp |
shared-delivery-gulp | Found bindings for the following environments:
shared-delivery-gulp |   - OS X 64-bit with Node.js 12.x
shared-delivery-gulp |
shared-delivery-gulp | This usually happens because your environment has changed since running `npm install`.
shared-delivery-gulp | Run `npm rebuild node-sass` to download the binding for your current environment.
shared-delivery-gulp |     at module.exports (/app/node_modules/node-sass/lib/binding.js:15:13)
shared-delivery-gulp |     at Object.<anonymous> (/app/node_modules/node-sass/lib/index.js:14:35)
shared-delivery-gulp |     at Module._compile (internal/modules/cjs/loader.js:1158:30)
shared-delivery-gulp |     at Module._compile (/app/node_modules/pirates/lib/index.js:99:24)
shared-delivery-gulp |     at Module._extensions..js (internal/modules/cjs/loader.js:1178:10)
shared-delivery-gulp |     at Object.newLoader [as .js] (/app/node_modules/pirates/lib/index.js:104:7)
shared-delivery-gulp |     at Module.load (internal/modules/cjs/loader.js:1002:32)
shared-delivery-gulp |     at Function.Module._load (internal/modules/cjs/loader.js:901:14)
shared-delivery-gulp |     at Module.require (internal/modules/cjs/loader.js:1044:19)
shared-delivery-gulp |     at require (internal/modules/cjs/helpers.js:77:18)
shared-delivery-gulp exited with code 1

Das könnten wir beheben, indem wir entweder die node-sass Bindings im Container neu bauen npm rebuild node-sass oder die node_modules nicht mit ins Image kopieren und dann die Dependencies anhand der package-lock.json installieren (npm ci).

Fehler beim python manage.py db upgrade:

Running in DEVELOPMENT mode
Traceback (most recent call last):
  File "/home/webdev/.local/lib/python3.6/site-packages/sqlalchemy/engine/base.py", line 2285, in _wrap_pool_connect
    return fn()
  File "/home/webdev/.local/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 303, in unique_connection
    return _ConnectionFairy._checkout(self)
  File "/home/webdev/.local/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 773, in _checkout
    fairy = _ConnectionRecord.checkout(pool)
  File "/home/webdev/.local/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 492, in checkout
    rec = pool._do_get()
  File "/home/webdev/.local/lib/python3.6/site-packages/sqlalchemy/pool/impl.py", line 238, in _do_get
    return self._create_connection()
  File "/home/webdev/.local/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 308, in _create_connection
    return _ConnectionRecord(self)
  File "/home/webdev/.local/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 437, in __init__
    self.__connect(first_connect_check=True)
  File "/home/webdev/.local/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 657, in __connect
    pool.logger.debug("Error on connect(): %s", e)
  File "/home/webdev/.local/lib/python3.6/site-packages/sqlalchemy/util/langhelpers.py", line 69, in __exit__
    exc_value, with_traceback=exc_tb,
  File "/home/webdev/.local/lib/python3.6/site-packages/sqlalchemy/util/compat.py", line 178, in raise_
    raise exception
  File "/home/webdev/.local/lib/python3.6/site-packages/sqlalchemy/pool/base.py", line 652, in __connect
    connection = pool._invoke_creator(self)
  File "/home/webdev/.local/lib/python3.6/site-packages/sqlalchemy/engine/strategies.py", line 114, in connect
    return dialect.connect(*cargs, **cparams)
  File "/home/webdev/.local/lib/python3.6/site-packages/sqlalchemy/engine/default.py", line 488, in connect
    return self.dbapi.connect(*cargs, **cparams)
  File "/home/webdev/.local/lib/python3.6/site-packages/pymysql/__init__.py", line 94, in Connect
    return Connection(*args, **kwargs)
  File "/home/webdev/.local/lib/python3.6/site-packages/pymysql/connections.py", line 325, in __init__
    self.connect()
  File "/home/webdev/.local/lib/python3.6/site-packages/pymysql/connections.py", line 599, in connect
    self._request_authentication()
  File "/home/webdev/.local/lib/python3.6/site-packages/pymysql/connections.py", line 861, in _request_authentication
    auth_packet = self._read_packet()
  File "/home/webdev/.local/lib/python3.6/site-packages/pymysql/connections.py", line 684, in _read_packet
    packet.check_error()
  File "/home/webdev/.local/lib/python3.6/site-packages/pymysql/protocol.py", line 220, in check_error
    err.raise_mysql_exception(self._data)
  File "/home/webdev/.local/lib/python3.6/site-packages/pymysql/err.py", line 109, in raise_mysql_exception
    raise errorclass(errno, errval)
pymysql.err.InternalError: (1049, "Unknown database 'userinterface'")

Da ich mich leider weder mit Python noch mit Flask auskenne, kam ich hier nicht weiter. Muss ich die Datenbank irgendwo noch manuell aufsetzen?

Danke 🙂

the-infinity commented 4 years ago

Ersteres ist ein nerviger Bug in dem Container, den ich noch nicht gefixt habe: bei dem allerersten Start muss man im Kontext des Containers einmal npm install machen, weil er das aus dem Dockerfile nicht übernimmt. Wenn du da ne hübschere Lösung hast: gerne.

Zweiteres ist n Bug im dev_dist File: die Datenbank heißt falsch. Pushe ich gleich, den Fix.

timvancleef commented 4 years ago

Jetzt klappt es. Danke! 🙂