webgme / webgme-engine

WebGME server and Client API without a GUI
MIT License
11 stars 6 forks source link

webgme-rust-components dependency causes downstream pain #256

Open nawgz opened 3 years ago

nawgz commented 3 years ago

See: https://github.com/webgme/webgme-engine/blob/master/package.json#L89

I have a private package & container registry, so I am writing my own Dockerfile. It looks something like this:

FROM registry.gitlab.example.com/base-images/yarn-builder:latest AS builder

RUN /opt/init-scripts/authenticateYarn.sh

WORKDIR /usr/app
COPY package.json .
RUN yarn install

Because I don't use your Docker image, I then get this error message:

[1/4] Resolving packages...
error Couldn't find the binary git

If you use npm instead the error message is:

npm ERR! code ENOENT
npm ERR! syscall spawn git

I see in my yarn.lock file that the resolution has occurred like this:

webgme-rust-components@webgme/webgme-rust-components:
  version "0.1.0"
  resolved "https://codeload.github.com/webgme/webgme-rust-components/tar.gz/ad446234b6c02fd722e7e454015857ee523fb172"

Please set this as a devDependency, peerDependency, or simply make it a proper NPM package. I do not need these components, and I do not wish to put the git binary unnecessarily in my containers.

nawgz commented 3 years ago

This would be what I'd call "bottom of the basement" in terms of priority, I can of course fix this issue with apk add git. It'd be great to not have another dependency beyond yarn is all.

brollb commented 2 years ago

Can you simply install it and then remove it in a later step (after setting up webgme-rust-components)?