OWASP / threat-dragon

An open source threat modeling tool from OWASP
https://owasp.org/www-project-threat-dragon/
Apache License 2.0
914 stars 248 forks source link

Installation Issue: "Error: Cannot find module 'fs/promises'Installation" #511

Closed ghost closed 1 year ago

ghost commented 2 years ago

Describe the bug When running the installation , an error is thrown. Installation is not successful.

Expected behaviour Successful installation

Environment

To Reproduce

$ pnpm install

Any additional context, screenshots, etc

Lockfile is up to date, resolution step is skipped
Packages: +83
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Packages are hard linked from the content-addressable store to the virtual store.
  Content-addressable store is at: /home/<user>/.local/share/pnpm/store/v3
  Virtual store is at:             node_modules/.pnpm

devDependencies:
+ npm-run-all 4.1.5
+ rimraf 3.0.2

Progress: resolved 83, reused 0, downloaded 83, added 82

> threat-dragon@2.0.0 postinstall /home/<user>/git/threat-dragon
> cd td.server && pnpm install && cd ../td.vue && pnpm install
Progress: resolved 83, reused 0, downloaded 83, added 83, done
Lockfile is up to date, resolution step is skipped
Packages: +793
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Packages are hard linked from the content-addressable store to the virtual store.
  Content-addressable store is at: /home/<user>/.local/share/pnpm/store/v3
  Virtual store is at:             node_modules/.pnpm
Progress: resolved 793, reused 82, downloaded 710, added 793, done
node_modules/.pnpm/core-js@3.19.3/node_modules/core-js: Running postinstall script, done in 13node_modules/.pnpm/nodemon@2.0.15/node_modules/nodemon: Running postinstall script, done in 212ms

dependencies:
+ @babel/runtime 7.18.9
+ axios 0.27.2
+ dotenv 16.0.1
+ express 4.18.1
+ express-rate-limit 6.5.1
+ helmet 5.1.1
+ jsonwebtoken 8.5.1
+ octonode 0.10.2
+ serve-favicon 2.5.0
+ winston 3.8.1

devDependencies:
+ @babel/cli 7.16.0
+ @babel/core 7.16.0
+ @babel/eslint-parser 7.16.3
+ @babel/node 7.16.0
+ @babel/plugin-transform-runtime 7.16.4
+ @babel/preset-env 7.16.4
+ @babel/register 7.16.0
+ chai 4.3.4
+ chai-as-promised 7.1.1
+ eslint 8.21.0
+ mocha 9.1.3
+ nodemon 2.0.15
+ npm-force-resolutions 0.0.10
+ npm-run-all 4.1.5
+ nyc 15.1.0
+ passport-local 1.0.0
+ pm2 5.2.0
+ rimraf 3.0.2
+ sinon 10.0.0
+ sinon-chai 3.7.0
+ supertest 4.0.2
Lockfile is up to date, resolution step is skipped
Packages: +1951
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Packages are hard linked from the content-addressable store to the virtual store.
  Content-addressable store is at: /home/<user>/.local/share/pnpm/store/v3
  Virtual store is at:             node_modules/.pnpm
Downloading registry.npmjs.org/bootstrap-vue/2.22.0: 8.72 MB/8.72 MB, done
Downloading registry.npmjs.org/typescript/4.7.4: 11.7 MB/11.7 MB, done
Downloading registry.npmjs.org/app-builder-bin/4.0.0: 45.1 MB/45.1 MB, done
Downloading registry.npmjs.org/app-builder-bin/3.7.1: 45.5 MB/45.5 MB, done
Progress: resolved 1951, reused 464, downloaded 1481, added 1951, done
node_modules/.pnpm/@fortawesome+fontawesome-common-types@0.2.36/node_modules/@fortawesome/fontawesome-common-types: Running postinstall script...
node_modules/.pnpm/@fortawesome+fontawesome-common-types@0.2.36/node_modules/@fortawesome/fontnode_modules/.pnpm/core-js@3.23.3/node_modules/core-js: Running postinstall script, done in 20node_modules/.pnpm/core-js@2.6.12/node_modules/core-js: Running postinstall script, done in 27node_modules/.pnpm/bootstrap-vue@2.22.0_jquery@3.6.0+vue@2.7.3/node_modules/bootstrap-vue: Running postinstall script, done in 349ms0/node_modules/chromedriver: Running install script...
node_modules/.pnpm/geckodriver@3.0.2/node_modules/geckodriver: Running postinstall script...
node_modules/.pnpm/chromedriver@104.0.0/node_modules/chromedriver: Running install script, donnode_modules/.pnpm/geckodriver@3.0.2/node_modules/geckodriver: Running postinstall script, done in 1.5s234ms
node_modules/.pnpm/yorkie@2.0.0/node_modules/yorkie: Running install script, done in 233ms
node_modules/.pnpm/@fortawesome+fontawesome-svg-core@1.2.36/node_modules/@fortawesome/fontawesome-svg-core: Running postinstall script...
node_modules/.pnpm/@fortawesome+free-solid-svg-icons@5.15.4/node_modules/@fortawesome/free-solnode_modules/.pnpm/@fortawesome+fontawesome-svg-core@1.2.36/node_modules/@fortawesome/fontawesnode_modules/.pnpm/@fortawesome+free-solid-svg-icons@5.15.4/node_modules/@fortawesome/free-solnode_modules/.pnpm/@fortawesome+free-brands-svg-icons@5.15.4/node_modules/@fortawesome/free-brands-svg-icons: Running postinstall script, done in 403ms
node_modules/.pnpm/cypress@9.7.0/node_modules/cypress: Running postinstall script...
node_modules/.pnpm/electron@18.3.5/node_modules/electron: Running postinstall script...
node_modules/.pnpm/electron-chromedriver@17.0.0/node_modules/electron-chromedriver: Running innode_modules/.pnpm/cypress@9.7.0/node_modules/cypress: Running postinstall script, done in 1m 46se_modules/.pnpm/electron-chromedriver@18.0.0/node_modules/electron-chromedriver: Running innode_modules/.pnpm/electron-chromedriver@17.0.0/node_modules/electron-chromedriver: Running install script, done in 1m 48.7s
node_modules/.pnpm/spectron@19.0.0_electron@18.3.5/node_modules/spectron: Running postinstall node_modules/.pnpm/spectron@19.0.0_electron@18.3.5/node_modules/spectron: Running postinstall script, done in 154ms

dependencies:
+ @antv/x6 1.32.7
+ @antv/x6-vue-shape 1.4.0
+ @fortawesome/fontawesome-svg-core 1.2.36
+ @fortawesome/free-brands-svg-icons 5.15.4
+ @fortawesome/free-solid-svg-icons 5.15.4
+ @fortawesome/vue-fontawesome 2.0.8
+ axios 0.21.4
+ bootstrap-vue 2.22.0
+ core-js 3.23.3
+ dotenv 8.6.0
+ jquery 3.6.0
+ uuid 8.3.2
+ vue 2.7.3
+ vue-i18n 8.27.2
+ vue-router 3.5.4
+ vue-toastification 1.7.14
+ vuex 3.6.2

devDependencies:
+ @babel/core 7.18.6
+ @babel/polyfill 7.12.1
+ @vue/cli-plugin-babel 5.0.7
+ @vue/cli-plugin-e2e-cypress 5.0.7
+ @vue/cli-plugin-eslint 5.0.7
+ @vue/cli-plugin-router 5.0.7
+ @vue/cli-plugin-unit-jest 5.0.8
+ @vue/cli-plugin-vuex 5.0.7
+ @vue/cli-service 5.0.7
+ @vue/eslint-config-standard 7.0.0
+ @vue/test-utils 1.3.0
+ @vue/vue2-jest 27.0.0
+ @wdio/cli 7.23.0
+ @wdio/local-runner 7.23.0
+ @wdio/mocha-framework 7.23.0
+ ansi-regex 5.0.1
+ babel-eslint 10.1.0
+ babel-jest 27.5.1
+ bootstrap 4.6.1
+ browserstack-cypress-cli 1.16.0
+ chromedriver 104.0.0
+ cypress 9.7.0
+ electron 18.3.5
+ electron-builder 23.3.3
+ electron-builder-notarize 1.5.0
+ electron-chromedriver 18.0.0
+ electron-devtools-installer 3.2.0
+ electron-log 4.4.8
+ eslint 8.21.0
+ eslint-config-standard 17.0.0
+ eslint-plugin-import 2.26.0
+ eslint-plugin-jest 26.5.3
+ eslint-plugin-n 15.2.4
+ eslint-plugin-node 11.1.0
+ eslint-plugin-promise 6.0.0
+ eslint-plugin-standard 4.1.0
+ eslint-plugin-vue 8.7.1
+ geckodriver 3.0.2
+ jest 27.5.1
+ mutationobserver-shim 0.3.7
+ npm-force-resolutions 0.0.10
+ pm2 5.2.0
+ popper.js 1.16.1
+ portal-vue 2.1.7
+ rimraf 3.0.2
+ sass 1.53.0
+ sass-loader 10.3.1
+ spectron 19.0.0
+ style-resources-loader 1.5.0
+ typescript 4.7.4
+ update-electron-app 2.0.1
+ vue-cli-plugin-bootstrap-vue 0.7.0
+ vue-cli-plugin-electron-builder 2.1.1
+ vue-cli-plugin-style-resources-loader 0.1.5
+ vue-template-compiler 2.7.3
+ vuex-persist 3.1.3
+ wdio-electron-service 3.5.0
+ webdriverio 7.23.0
+ webpack 5.73.0

> threat-dragon-frontend@2.0.0 postinstall /home/<user>/git/threat-dragon/td.vue
> electron-builder install-app-deps

Error: Cannot find module 'fs/promises'
Require stack:
- /home/<user>/git/threat-dragon/td.vue/node_modules/.pnpm/builder-util@23.3.3/node_modules/builder-util/out/fs.js
- /home/<user>/git/threat-dragon/td.vue/node_modules/.pnpm/builder-util@23.3.3/node_modules/builder-util/out/util.js
- /home/<user>/git/threat-dragon/td.vue/node_modules/.pnpm/electron-builder@23.3.3/node_modules/electron-builder/out/cli/cli.js
- /home/<user>/git/threat-dragon/td.vue/node_modules/.pnpm/electron-builder@23.3.3/node_modules/electron-builder/cli.js
    at Function.Module._resolveFilename (internal/modules/cjs/loader.js:815:15)
    at Function.Module._load (internal/modules/cjs/loader.js:667:27)
    at Module.require (internal/modules/cjs/loader.js:887:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.<anonymous> (/home/<user>/git/threat-dragon/td.vue/node_modules/.pnpm/builder-util@23.3.3/node_modules/builder-util/src/fs.ts:5:1)
    at Module._compile (internal/modules/cjs/loader.js:999:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
    at Module.load (internal/modules/cjs/loader.js:863:32)
    at Function.Module._load (internal/modules/cjs/loader.js:708:14)
    at Module.require (internal/modules/cjs/loader.js:887:19)
    at require (internal/modules/cjs/helpers.js:74:18)
    at Object.<anonymous> (/home/<user>/git/threat-dragon/td.vue/node_modules/.pnpm/builder-util@23.3.3/node_modules/builder-util/src/util.ts:25:1)
    at Module._compile (internal/modules/cjs/loader.js:999:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
    at Module.load (internal/modules/cjs/loader.js:863:32)
    at Function.Module._load (internal/modules/cjs/loader.js:708:14)

 ELIFECYCLE  Command failed with exit code 1.
 ELIFECYCLE  Command failed with exit code 1.
ghost commented 2 years ago

The server can be started, though, so it seems to be a minor issue

jgadsden commented 2 years ago

Thanks for the bug report @kaiyazeera the postinstall failure is for installing electron builder which is used only for the desktop app, and that is why the server is starting up OK.

The command pnpm install does have the potential to install properly, as it worked OK on my Kali dsitribution:

Linux version 5.18.0-kali5-arm64 (devel@kali.org) (gcc-11 (Debian 11.3.0-3) 11.3.0,
GNU ld (GNU Binutils for Debian) 2.38) #1 SMP Debian 5.18.5-1kali5 (2022-07-04)

Could you try again and make sure it is not a network / VPN issue?

ghost commented 2 years ago

I retried twice, but I cannot reliably exclude its a network/VPN issue. It does not look like one, though, unless the respective error messages are hidden.

jgadsden commented 2 years ago

Keeping this issue Open until we can find out what is going wrong, although it may not get resolved for the upcoming version 2.0 release

jgadsden commented 1 year ago

this has not been reported again, so closing