mifi/editly

editly crashes on containerized CLI

ebadi opened this issue · 3 comments

ebadi commented
  • [x ] I have tried with the newest version of editly: npm i -g editly or npm i editly@latest
  • [ x] I have tried ffmpeg newest stable version
  • [ x] I have searched for existing issues

I followed the instruction to use containerized CLI:

$ git clone https://github.com/mifi/editly.git
$ cd editly/examples
$ git clone https://github.com/mifi/editly-assets.git assets
$ cd ..
$ docker-compose up

and I got the following error messages:

Step 21/21 : CMD [ "editly" ]
 ---> Running in feba5d611875
Removing intermediate container feba5d611875
 ---> 649cc84c99dd

Successfully built 649cc84c99dd
Successfully tagged editly/editly:latest
Creating editly ... done
Attaching to editly
editly    | internal/modules/run_main.js:54
editly    |     internalBinding('errors').triggerUncaughtException(
editly    |                               ^
editly    | 
editly    | Error [ERR_UNSUPPORTED_ESM_URL_SCHEME]: Only file and data URLs are supported by the default ESM loader
editly    |     at Loader.defaultResolve [as _resolve] (internal/modules/esm/resolve.js:724:11)
editly    |     at Loader.resolve (internal/modules/esm/loader.js:97:40)
editly    |     at Loader.getModuleJob (internal/modules/esm/loader.js:242:28)
editly    |     at ModuleWrap.<anonymous> (internal/modules/esm/module_job.js:50:40)
editly    |     at link (internal/modules/esm/module_job.js:49:36) {
editly    |   code: 'ERR_UNSUPPORTED_ESM_URL_SCHEME'
editly    | }
editly exited with code 1

@patcon

ebadi commented

Tried older version of editly and got a different error message:

git checkout 52f643b3750db7b5a12cf1b97f90b2aeb0c5d87a
docker-compose up --build

editly    | internal/modules/cjs/loader.js:1250
editly    |   return process.dlopen(module, path.toNamespacedPath(filename));
editly    |                  ^
editly    | 
editly    | Error: /app/node_modules/canvas/build/Release/libpango-1.0.so.0: undefined symbol: fribidi_get_par_embedding_levels_ex
editly    |     at Object.Module._extensions..node (internal/modules/cjs/loader.js:1250:18)
editly    |     at Module.load (internal/modules/cjs/loader.js:1049:32)
editly    |     at Function.Module._load (internal/modules/cjs/loader.js:937:14)
editly    |     at Module.require (internal/modules/cjs/loader.js:1089:19)
editly    |     at require (internal/modules/cjs/helpers.js:73:18)
editly    |     at Object.<anonymous> (/app/node_modules/canvas/lib/bindings.js:3:18)
editly    |     at Module._compile (internal/modules/cjs/loader.js:1200:30)
editly    |     at Object.Module._extensions..js (internal/modules/cjs/loader.js:1220:10)
editly    |     at Module.load (internal/modules/cjs/loader.js:1049:32)
editly    |     at Function.Module._load (internal/modules/cjs/loader.js:937:14)
editly exited with code 1


On macOS M1, have same problem and fix with the following changes:

  1. upgrade node version 16.15.1 in Dockerfile
  2. add the follwing lines in docker file
## INSTALL EDITLY

RUN echo "export LD_LIBRARY_PATH=/app/node_modules/canvas/build/Release/" >> /root/.bashrc
ENV LD_LIBRARY_PATH /app/node_modules/canvas/build/Release/

  1. remove image: property from the docker-compose.yml and re-built the image from the Dockerfile via docker-compose build
  2. run docker-compose up
    reference: #141

For all the people struggling (like i did) to install editly. I found a way using docker. Below is my environment

  • WSL2
  • Ubuntu 22.04
  • Windows 10
  • Docker Desktop

Rather than building the docker image, there is one already created on dockerhub. Follow the instructions to use.
https://hub.docker.com/r/vimagick/editly

Note: The version of different packages may not be latest. I haven't checked what's inside the image