hms-dbmi/viv

Problems installing with npm

JohnGrime opened this issue · 4 comments

Describe the bug

When trying to install Viv using npm as described in the "Installation" section of the github page (https://github.com/hms-dbmi/viv#-installation), the installation seems to get stuck in an infinite loop.

To Reproduce

I logged into a Red Hat Enterprise 8.9 machine, and ran npm to install deck.gl, which appears to have worked:

npm install deck.gl @luma.gl/core

added 135 packages in 14s

1 package is looking for funding
  run `npm fund` for details

However, trying then to install Viv via npm (npm install @hms-dbmi/viv, as per the instructions) triggers an infinite loop of printed references to deck.gl and react:

npm WARN Could not resolve dependency:
npm WARN peer @deck.gl/core@"^8.0.0" from the root project
npm WARN ERESOLVE overriding peer dependency
npm WARN While resolving: @hms-dbmi/viv@0.13.5
npm WARN Found: peer react@">=16.3" from the root project
npm WARN
npm WARN Could not resolve dependency:
npm WARN peer react@">=16.3" from the root project
npm WARN ERESOLVE overriding peer dependency
npm WARN While resolving: @hms-dbmi/viv@0.13.5
npm WARN Found: peer @deck.gl/core@"^8.0.0" from the root project
npm WARN
npm WARN Could not resolve dependency:
npm WARN peer @deck.gl/core@"^8.0.0" from the root project
npm WARN ERESOLVE overriding peer dependency
npm WARN While resolving: @hms-dbmi/viv@0.13.5
npm WARN Found: peer react@">=16.3" from the root project
npm WARN
npm WARN Could not resolve dependency:
npm WARN peer react@">=16.3" from the root project
npm WARN ERESOLVE overriding peer dependency
npm WARN While resolving: @hms-dbmi/viv@0.13.5
npm WARN Found: peer @deck.gl/core@"^8.0.0" from the root project
npm WARN
... etc ...

This infinite loop apparently cannot be interrupted by ctrl-c or ctrl-d, and forces the user to close the terminal (which is really an entirely different problem with the npm program).

Expected behavior

I'd expect Viv to install without triggering some sort of infinite loop of dependency problems

I think we suggest going in the opposite direction, first viv and then deck.gl

Could you try this and report?

I can reproduce the infinite loop that you report on the following environment: macOS big sur v11.6.3

node --version

v16.16.0

npm --version

8.11.0

even when installing viv first.

However the --legacy-peer-deps argument to npm install resolves the issue:

npm install @hms-dbmi/viv --legacy-peer-deps
npm install deck.gl @luma.gl/core --legacy-peer-deps

Ok I will have a look at this tomorrow then. I assume something happened to npm but will know more tomorrow.

So apparently this is old new: vitessce/vitessce#1182 - I guess the answer is to just loosen the restriction and hope for the best.