fishion / StravaImporter

script to import tcx files (as exported by Endomondo) into Strava
24 stars 8 forks source link

Error: Cannot find module 'strava-v3' #4

Closed fbr-github closed 3 years ago

fbr-github commented 3 years ago

What should I do?

internal/modules/cjs/loader.js:883 throw err; ^

Error: Cannot find module 'strava-v3' Require stack:

fbr-github commented 3 years ago

Now I called npm install strava-v3 but the error remains after I retry node index.js

chadlwilson commented 3 years ago

Did you do a blanket npm install for all dependencies as in the README?

fbr-github commented 3 years ago

Did you do a blanket npm install for all dependencies as in the README?

yes, I did

fbr-github commented 3 years ago

vagrant@vagrant:/vagrant/StravaImporter-main$ npm install npm WARN stravaimporter@1.0.0 No repository field.

npm ERR! code EPROTO npm ERR! syscall symlink npm ERR! path ../sshpk/bin/sshpk-conv npm ERR! dest /vagrant/StravaImporter-main/node_modules/.bin/sshpk-conv npm ERR! errno -71 npm ERR! EPROTO: protocol error, symlink '../sshpk/bin/sshpk-conv' -> '/vagrant/StravaImporter-main/node_modules/.bin/sshpk-conv'

npm ERR! A complete log of this run can be found in: npm ERR! /home/vagrant/.npm/_logs/2020-12-30T15_42_03_648Z-debug.log vagrant@vagrant:/vagrant/StravaImporter-main$

fbr-github commented 3 years ago

sorry, I don't have an idea what these error messages mean

chadlwilson commented 3 years ago

No idea about what Vagrant box you are using or your host operating system, but it seems like the file system has issues, and is unable to create symbolic links which is critical for nodejs/npm to be able to install dependencies correctly.

Taking a wild guess, if you are running it on a Windows host and using a shared folder back to Windows you will have issues with symlinks, unless you enable various options on the shared folder; run as admin etc. If I recall correctly, it is painful. You can probably google and find possible solutions.

Alternatively could try git cloning into a non-shared folder inside the VM instead; or if you know Docker; use the Dockerfile someone has contributed to the repo instead of a Vagrant VM.

fbr-github commented 3 years ago

@chadlwilson: yeah, thank you very much, that hint about symlinks with vagrant did help! I searched a bit on stackoverflow and came across the solution to just call npm install --no-bin-links and that worked fine, and now I was able to start node index.js and I also uploaded a test tcx file of my swimming workouts. So I think this ticket can be closed now.