cloudfoundry-attic / cf-abacus

CF usage metering and aggregation
Apache License 2.0
98 stars 86 forks source link

Cannot get the build script to run #1129

Closed jbuerkle closed 5 years ago

jbuerkle commented 5 years ago

Hi there,

I am currently trying to build abacus locally on my Windows machine (Win10) so that I may run the demo and learn the ropes in Abacus. However, I cannot, for the love of god, get the build script to run. I followed the instructions in the README.md, but I never make it through the "yarn run build" successfully. I am running Yarn v1.12.3, in case you want to know. This is seriously frustrating, so I appreciate any help you can give me.

My console output looks like this: yarn run v1.12.3 $ yarn run provision && yarn test $ yarn run bootstrap && yarn install $ yarn add check-node-version && check-node-version --package info No lockfile found. [1/5] Validating package.json... [2/5] Resolving packages... warning abacus-account-plugin > abacus-usage-schemas > abacus-schema > eslint > file-entry-cache > flat-cache > circular-json@0.3.3: CircularJSON is in maintenance only, flatted is its successor. warning abacus-demo-client > abacus-mocha > sinon > nise > text-encoding@0.6.4: no longer maintained warning abacus-doc > abacus-mddoc > path-is-absolute@2.0.0: This package is no longer relevant as Node.js 0.12 is unmaintained. warning abacus-doc > abacus-mddoc > html-inline > trumpet > html-tokenize > through2 > xtend > object-keys@0.4.0: warning karma > log4js > circular-json@0.5.9: CircularJSON is in maintenance only, flatted is its successor. [3/5] Fetching packages... info fsevents@1.2.4: The platform "win32" is incompatible with this module. info "fsevents@1.2.4" is an optional dependency and failed compatibility check. Excluding it from installation. [4/5] Linking dependencies... warning " > chai-as-promised@7.1.1" has unmet peer dependency "chai@>= 2.1.2 < 5". warning "abacus-doc > abacus-mddoc > bootstrap@4.1.3" has unmet peer dependency "jquery@1.9.1 - 3". warning "abacus-doc > abacus-mddoc > bootstrap@4.1.3" has unmet peer dependency "popper.js@^1.14.3". warning " > eslint-plugin-nodate@1.1.3" has unmet peer dependency "eslint@~4.13.0". warning " > eslint-plugin-mocha@5.2.0" has unmet peer dependency "eslint@>= 4.0.0". warning " > sinon-chai@3.3.0" has unmet peer dependency "chai@^4.0.0". warning " > sinon-chai@3.3.0" has unmet peer dependency "sinon@>=4.0.0 <8.0.0". [5/5] Building fresh packages... [1/2] ⠂ abacus-service-dashboard error C:\Users\MyUsername\Documents\GitHub\cf-abacus\node_modules\abacus-service-dashboard: Command failed. Exit code: 1 Command: cd src/webapp; yarn install; cd ../..; Arguments: Directory: C:\Users\MyUsername\Documents\GitHub\cf-abacus\node_modules\abacus-service-dashboard Output: The system cannot find the path specified.

error Command failed with exit code 1. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. error Command failed with exit code 1. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command. error Command failed with exit code 1. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

cf-gitbot commented 5 years ago

We have created an issue in Pivotal Tracker to manage this:

https://www.pivotaltracker.com/story/show/162244249

The labels on this github issue will be updated when the story is started.

hsiliev commented 5 years ago

What you can do as workaround is to try to use bash for Windows from cygwin or git shell.

Or you can try to fix this splitting the problematic script into two cd commands here: https://github.com/cloudfoundry-incubator/cf-abacus/blob/master/lib/cf/dashboard/package.json#L26

We have to add Windows build in Travis to verify everything is working and fix this issue.

hsiliev commented 5 years ago

Looking in more detail it seems we have to support Windows in following areas:

As this will take some time to implement, your best bet right now is to use Linux VM or docker image.

jbuerkle commented 5 years ago

Hi @hsiliev , I already tried running the command from the Git bash yesterday, however, this did not change anything regarding the error message I'm getting. As you already posted a second reply, I guess I'll go with the Docker solution. Since I'll use an image with an already compiled application, that means I cannot make any changes to the demo code myself, since I would need to rebuild afterwards, is that correct? (Sorry, I am not familiar with Docker, as I didn't use it before). Thanks in advance!

hsiliev commented 5 years ago

@jbuerkle You need VM or Docker image only as a way to run Linux on Windows host. From there you can clone and build Abacus as usual.

Two pros to this approach:

  1. you don't need to install/polute your environment with node/yarn/npm, RabbitMQ and MongoDB.
  2. you can use our https://github.com/cloudfoundry-incubator/cf-abacus/blob/master/docker-compose.yaml to get RabbitMQ and MongoDB running
hsiliev commented 5 years ago

If you still face issues please reopen