jhipster / generator-jhipster

JHipster is a development platform to quickly generate, develop, & deploy modern web applications & microservice architectures.
https://www.jhipster.tech
Apache License 2.0
21.54k stars 4.02k forks source link

jhipster upgrade still fails #22617

Closed anothergoodguy closed 1 year ago

anothergoodguy commented 1 year ago

Opening a new issue as the earlier issue is closed.

Dear team,

I am using the main branch with commit 19bc0dc35e to build a docker image with the below command:

  1. docker build -t jhipster:8.0 .
  2. docker container run --name jhipster-8 -v ~/jhipster:/home/jhipster/app -v ~/jhipster/.bashrc:/home/jhipster/.bashrc -v ~/.m2:/home/jhipster/.m2 -v ~/Development/test-app-upgrade:/home/jhipster/Development/test-app-upgrade -p 9000:9000 -p 3001:3001 -d -t jhipster:8.0
  3. docker exec -it jhipster-8 /bin/bash
  4. cd ~/Development/test-app-upgrade
  5. jhipster upgrade --skip-checks

And here are the environment details:

  1. Macbook Pro Intel-i7
  2. OS Version:Mac OS Ventura 13.4 (22F66)`
  3. Docker engine Version is Docker Desktop 4.20.1 (110738) I think it is the newest version as of today
  4. attached are the copy of the .yo-rc.json & the example jdl I originally used

And Here is the error log:

|  ==> jhipster upgrade --skip-checks

        ██╗ ██╗   ██╗ ████████╗ ███████╗   ██████╗ ████████╗ ████████╗ ███████╗
        ██║ ██║   ██║ ╚══██╔══╝ ██╔═══██╗ ██╔════╝ ╚══██╔══╝ ██╔═════╝ ██╔═══██╗
        ██║ ████████║    ██║    ███████╔╝ ╚█████╗     ██║    ██████╗   ███████╔╝
  ██╗   ██║ ██╔═══██║    ██║    ██╔════╝   ╚═══██╗    ██║    ██╔═══╝   ██╔══██║
  ╚██████╔╝ ██║   ██║ ████████╗ ██║       ██████╔╝    ██║    ████████╗ ██║  ╚██╗
   ╚═════╝  ╚═╝   ╚═╝ ╚═══════╝ ╚═╝       ╚═════╝     ╚═╝    ╚═══════╝ ╚═╝   ╚═╝
                            https://www.jhipster.tech
Welcome to JHipster v8.0.0-beta.1

Welcome to the JHipster Upgrade Sub-Generator
This will upgrade your current application codebase to the latest JHipster version
WARNING! No blueprints detected, skipping check of last blueprint version
INFO! Looking for latest generator-jhipster version...
✔ New generator-jhipster version found: 8.0.0-beta.1
true
✔ Git repository detected
cancer-treatment
Switched to a new branch 'jhipster_upgrade'
✔ Created branch jhipster_upgrade
npm WARN deprecated readdir-scoped-modules@1.1.0: This functionality has been moved to @npmcli/fs
npm WARN deprecated @npmcli/move-file@1.1.2: This functionality has been moved to @npmcli/fs
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated @npmcli/move-file@2.0.1: This functionality has been moved to @npmcli/fs
npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated querystring@0.2.0: The querystring API is considered Legacy. new code should use the URLSearchParams API instead.
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142

added 648 packages, and removed 2 packages in 2m

79 packages are looking for funding
  run `npm fund` for details
npm notice
npm notice New minor version of npm available! 9.5.1 -> 9.7.1
npm notice Changelog: <https://github.com/npm/cli/releases/tag/v9.7.1>
npm notice Run `npm install -g npm@9.7.1` to update!
npm notice
INFO! Removing /home/jhipster/Development/test-app-upgrade/.devcontainerUnknown command: "bin"

To see a list of supported npm commands, run:
  npm help
INFO! Switching to JHipster installed locally in current project's node repository (node_modules)
node:internal/modules/cjs/loader:571
      throw e;
      ^

Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './lib/util/namespace' is not defined by "exports" in /home/jhipster/Development/test-app-upgrade/node_modules/yeoman-environment/package.json
    at new NodeError (node:internal/errors:399:5)
    at exportsNotFound (node:internal/modules/esm/resolve:361:10)
    at packageExportsResolve (node:internal/modules/esm/resolve:697:9)
    at resolveExports (node:internal/modules/cjs/loader:565:36)
    at Module._findPath (node:internal/modules/cjs/loader:634:31)
    at Module._resolveFilename (node:internal/modules/cjs/loader:1061:27)
    at Module._load (node:internal/modules/cjs/loader:920:27)
    at Module.require (node:internal/modules/cjs/loader:1141:19)
    at require (node:internal/modules/cjs/helpers:110:18)
    at Object.<anonymous> (/home/jhipster/Development/test-app-upgrade/node_modules/generator-jhipster/utils/blueprint.js:19:25) {
  code: 'ERR_PACKAGE_PATH_NOT_EXPORTED'
}

Node.js v18.16.0

ERROR! An error occured while running jhipster:upgrade#prepareUpgradeBranch
INFO! Removing /home/jhipster/Development/test-app-upgrade/.editorconfig
INFO! Removing /home/jhipster/Development/test-app-upgrade/.eslintignore
INFO! Removing /home/jhipster/Development/test-app-upgrade/.eslintrc.json
INFO! Removing /home/jhipster/Development/test-app-upgrade/.gitattributes
INFO! Removing /home/jhipster/Development/test-app-upgrade/.gitignore
INFO! Removing /home/jhipster/Development/test-app-upgrade/.gitlab-ci.yml
INFO! Removing /home/jhipster/Development/test-app-upgrade/.husky
INFO! Removing /home/jhipster/Development/test-app-upgrade/.lintstagedrc.js
INFO! Removing /home/jhipster/Development/test-app-upgrade/.prettierignore
INFO! Removing /home/jhipster/Development/test-app-upgrade/.prettierrc
INFO! Removing /home/jhipster/Development/test-app-upgrade/.yo-rc-global.json
INFO! Removing /home/jhipster/Development/test-app-upgrade/README.md
INFO! Removing /home/jhipster/Development/test-app-upgrade/build.gradle
INFO! Removing /home/jhipster/Development/test-app-upgrade/checkstyle.xml
INFO! Removing /home/jhipster/Development/test-app-upgrade/cypress-audits.config.ts
INFO! Removing /home/jhipster/Development/test-app-upgrade/cypress.config.ts
INFO! Removing /home/jhipster/Development/test-app-upgrade/gradle
INFO! Removing /home/jhipster/Development/test-app-upgrade/gradle.properties
INFO! Removing /home/jhipster/Development/test-app-upgrade/gradlew
INFO! Removing /home/jhipster/Development/test-app-upgrade/gradlew.bat
INFO! Removing /home/jhipster/Development/test-app-upgrade/jest.conf.js
INFO! Removing /home/jhipster/Development/test-app-upgrade/mvnw
INFO! Removing /home/jhipster/Development/test-app-upgrade/mvnw.cmd
INFO! Removing /home/jhipster/Development/test-app-upgrade/npmw
INFO! Removing /home/jhipster/Development/test-app-upgrade/npmw.cmd
INFO! Removing /home/jhipster/Development/test-app-upgrade/package-lock.json
INFO! Removing /home/jhipster/Development/test-app-upgrade/package.json
INFO! Removing /home/jhipster/Development/test-app-upgrade/pom.xml
INFO! Removing /home/jhipster/Development/test-app-upgrade/postcss.config.js
INFO! Removing /home/jhipster/Development/test-app-upgrade/settings.gradle
INFO! Removing /home/jhipster/Development/test-app-upgrade/sonar-project.properties
INFO! Removing /home/jhipster/Development/test-app-upgrade/src
INFO! Removing /home/jhipster/Development/test-app-upgrade/tsconfig.e2e.json
INFO! Removing /home/jhipster/Development/test-app-upgrade/tsconfig.json
INFO! Removing /home/jhipster/Development/test-app-upgrade/tsconfig.test.json
INFO! Removing /home/jhipster/Development/test-app-upgrade/webpack
✔ Cleaned up project directory
INFO! Installing generator-jhipster 7.9.3 locally
INFO! npm install generator-jhipster@7.9.3 --save-dev --no-package-lock --ignore-scripts --legacy-peer-deps
✔ Installed generator-jhipster@7.9.3
INFO! Skipping local blueprint installation since no blueprint has been detected
INFO! Regenerating application with JHipster 7.9.3...
INFO! npm exec --no jhipster -- --with-entities --force --skip-install --skip-git --ignore-errors --no-insight --skip-checks
ERROR! ERROR! Command failed with exit code 1: npm exec --no jhipster -- --with-entities --force --skip-install --skip-git --ignore-errors --no-insight --skip-checks
Error: Command failed with exit code 1: npm exec --no jhipster -- --with-entities --force --skip-install --skip-git --ignore-errors --no-insight --skip-checks
    at makeError (file:///home/jhipster/generator-jhipster/node_modules/execa/lib/error.js:59:11)
    at execaSync (file:///home/jhipster/generator-jhipster/node_modules/execa/index.js:201:17)
    at execaCommandSync (file:///home/jhipster/generator-jhipster/node_modules/execa/index.js:276:9)
    at UpgradeGenerator.spawnCommandSync (file:///home/jhipster/generator-jhipster/node_modules/yeoman-generator/dist/actions/spawn-command.js:24:16)
    at UpgradeGenerator._generate (file:///home/jhipster/generator-jhipster/dist/generators/upgrade/generator.mjs:169:29)
    at UpgradeGenerator._regenerate (file:///home/jhipster/generator-jhipster/dist/generators/upgrade/generator.mjs:187:14)
    at UpgradeGenerator.prepareUpgradeBranch (file:///home/jhipster/generator-jhipster/dist/generators/upgrade/generator.mjs:370:26)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async UpgradeGenerator.executeTask (file:///home/jhipster/generator-jhipster/node_modules/yeoman-generator/dist/actions/lifecycle.js:240:13) {
  shortMessage: 'Command failed with exit code 1: npm exec --no jhipster -- --with-entities --force --skip-install --skip-git --ignore-errors --no-insight --skip-checks',
  command: 'npm exec --no jhipster -- --with-entities --force --skip-install --skip-git --ignore-errors --no-insight --skip-checks',
  escapedCommand: 'npm exec --no jhipster -- --with-entities --force --skip-install --skip-git --ignore-errors --no-insight --skip-checks',
  exitCode: 1,
  signal: undefined,
  signalDescription: undefined,
  stdout: undefined,
  stderr: undefined,
  failed: true,
  timedOut: false,
  isCanceled: false,
  killed: false
}```

.yo-rc.json:

{ "generator-jhipster": { "applicationType": "monolith", "authenticationType": "jwt", "baseName": "store", "blueprints": [], "buildTool": "maven", "cacheProvider": "infinispan", "clientFramework": "react", "clientPackageManager": "npm", "clientTheme": "none", "clientThemeVariant": "", "creationTimestamp": 1680455410509, "databaseType": "sql", "devDatabaseType": "mysql", "devServerPort": 9060, "dtoSuffix": "DTO", "enableGradleEnterprise": false, "enableHibernateCache": false, "enableSwaggerCodegen": false, "enableTranslation": true, "entities": ["Category", "Product", "Customer", "Address", "WishList"], "entitySuffix": "", "jhiPrefix": "jhi", "jhipsterVersion": "7.9.3", "jwtSecretKey": "OTNjZjEzZjAyMmY4NmVjNTIyOGEzNjQ5NWM4ZDFmOGMwOTAzYjc5NDIwNTI3ZTI5MGYyNzE3ZDQ2NWI5MGI0NWFiYTNhNTM2NDVjMTA2OGYyMDFkOGYwMWZkODBhMGIxOTU4ZGJhNzMwOTc5ZmM5ZDdiZjkwNWFhMjFjNzEyNmM=", "languages": ["en"], "messageBroker": false, "microfrontend": false, "microfrontends": [], "nativeLanguage": "en", "otherModules": [], "packageName": "com.sample.shop", "pages": [], "prodDatabaseType": "mysql", "reactive": true, "searchEngine": "elasticsearch", "serverPort": "8080", "serverSideOptions": ["searchEngine:elasticsearch"], "serviceDiscoveryType": "no", "skipCheckLengthOfIdentifier": false, "skipClient": false, "skipFakeData": false, "skipUserManagement": false, "testFrameworks": ["cypress", "gatling", "cucumber"], "websocket": false, "withAdminUi": true } }

store.jh:

application { config { baseName store packageName com.sample.shop authenticationType jwt prodDatabaseType mysql devDatabaseType mysql buildTool gradle clientFramework react enableTranslation true nativeLanguage en cacheProvider infinispan searchEngine elasticsearch languages [en] jhiPrefix tm reactive false // pkType UUID jhiPrefix tm } entities * }

enum CategoryStatus { AVAILABLE RESTRICTED DISABLED }

entity Category { description String required sortOrder Integer dateAdded LocalDate dateModified LocalDate status CategoryStatus }

entity Product { title String required keywords String description String rating Integer dateAdded LocalDate dateModified LocalDate }

entity Customer { firstName String lastName String email String telephone String }

entity Address { address1 String address2 String city String postcode String required maxlength(10) country String required maxlength(2) }

entity WishList { title String required restricted Boolean }

relationship OneToMany { Customer{wishList(title)} to WishList{customer} WishList{product(title)} to Product{wishList} Customer{address} to Address{customer} }

relationship ManyToOne { Category{parent} to Category }

relationship ManyToMany { Category{product(title)} to Product{category} }

service with serviceClass paginate with infinite-scroll dto with mapstruct search with elasticsearch filter *

anothergoodguy commented 1 year ago

Dear team,

Though I mentioned the latest commit 19bc0dc35e but it can be reproduced on the commits as of yesterday as well.

Please ignore if this is already reported and being worked on

mshima commented 1 year ago

Unfortunately using docker will not be supported by jhipster upgrade. There is the node problem that v7.9.3 won't work with node 18 and v8 docker ships with node 18 and doesn't support node 16.

As stated in https://github.com/jhipster/generator-jhipster/issues/22495#issuecomment-1587777481 and https://github.com/jhipster/generator-jhipster/issues/22495#issuecomment-1587806831. jhipster upgrade from v7 to v8 requires node 16 with --skip-checks.

You can try manually downgrading node to 16 at https://github.com/jhipster/generator-jhipster/blob/30cb5d5d1d54a15e3b8fd7a57fc327a95d25e3f3/Dockerfile#L41.

mshima commented 1 year ago

Nothing to do here

mraible commented 1 year ago

I tried upgrading 21-points to v8 today. I started with Node 16 and JHipster 7.9.3. It fails because it says I need Node 18.

Regenerating application with JHipster 8.0.0-beta.2...
/Users/mraible/dev/21-points/node_modules/.bin
     info "/Users/mraible/dev/21-points/node_modules/.bin/jhipster" --with-entities --force --skip-install --skip-git --ignore-errors --no-insight
FATAL! You are running Node version 16.20.0
JHipster requires Node version ^18.13.0 || >= 20.2.0
Please update your version of Node.
✖ An error occured while running jhipster:upgrade#generateWithTargetVersion
ERROR! Something went wrong while generating project! Error: Command failed: "/Users/mraible/dev/21-points/node_modules/.bin/jhipster" --with-entities --force --skip-install --skip-git --ignore-errors --no-insight
Error: Something went wrong while generating project! Error: Command failed: "/Users/mraible/dev/21-points/node_modules/.bin/jhipster" --with-entities --force --skip-install --skip-git --ignore-errors --no-insight
    at module.exports.error (/Users/mraible/.nvm/versions/node/v16.20.0/lib/node_modules/generator-jhipster/generators/generator-base.js:1937:11)
    at module.exports._generate (/Users/mraible/.nvm/versions/node/v16.20.0/lib/node_modules/generator-jhipster/generators/upgrade/index.js:176:12)
    at module.exports._regenerate (/Users/mraible/.nvm/versions/node/v16.20.0/lib/node_modules/generator-jhipster/generators/upgrade/index.js:192:10)
    at module.exports.generateWithTargetVersion (/Users/mraible/.nvm/versions/node/v16.20.0/lib/node_modules/generator-jhipster/generators/upgrade/index.js:480:14)
    at Object.<anonymous> (/Users/mraible/.nvm/versions/node/v16.20.0/lib/node_modules/generator-jhipster/node_modules/yeoman-generator/lib/index.js:1091:23)
    at /Users/mraible/.nvm/versions/node/v16.20.0/lib/node_modules/generator-jhipster/node_modules/run-async/index.js:49:25
    at new Promise (<anonymous>)
    at /Users/mraible/.nvm/versions/node/v16.20.0/lib/node_modules/generator-jhipster/node_modules/run-async/index.js:26:19
    at /Users/mraible/.nvm/versions/node/v16.20.0/lib/node_modules/generator-jhipster/node_modules/yeoman-generator/lib/index.js:1092:9
    at new Promise (<anonymous>)

If I try to use Node 18 to do it, I get the Node 18 error:

Screenshot 2023-07-13 at 3 53 16 PM

npx jhipster upgrade almost works, but fails too:

INFO! npm exec --no jhipster -- --with-entities --force --skip-install --skip-git --ignore-errors --no-insight
ERROR! ERROR! Command failed with exit code 1: npm exec --no jhipster -- --with-entities --force --skip-install --skip-git --ignore-errors --no-insight
Error: Command failed with exit code 1: npm exec --no jhipster -- --with-entities --force --skip-install --skip-git --ignore-errors --no-insight
    at makeError (file:///Users/mraible/dev/21-points/node_modules/yeoman-generator/node_modules/execa/lib/error.js:59:11)
    at execaSync (file:///Users/mraible/dev/21-points/node_modules/yeoman-generator/node_modules/execa/index.js:201:17)
    at execaCommandSync (file:///Users/mraible/dev/21-points/node_modules/yeoman-generator/node_modules/execa/index.js:276:9)
    at UpgradeGenerator.spawnCommandSync (file:///Users/mraible/dev/21-points/node_modules/yeoman-generator/dist/actions/spawn-command.js:24:16)
    at UpgradeGenerator._generate (file:///Users/mraible/dev/21-points/node_modules/generator-jhipster/dist/generators/upgrade/generator.mjs:169:29)
    at UpgradeGenerator._regenerate (file:///Users/mraible/dev/21-points/node_modules/generator-jhipster/dist/generators/upgrade/generator.mjs:187:14)
    at UpgradeGenerator.prepareUpgradeBranch (file:///Users/mraible/dev/21-points/node_modules/generator-jhipster/dist/generators/upgrade/generator.mjs:370:26)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async UpgradeGenerator.executeTask (file:///Users/mraible/dev/21-points/node_modules/yeoman-generator/dist/actions/lifecycle.js:240:13) {
  shortMessage: 'Command failed with exit code 1: npm exec --no jhipster -- --with-entities --force --skip-install --skip-git --ignore-errors --no-insight',
  command: 'npm exec --no jhipster -- --with-entities --force --skip-install --skip-git --ignore-errors --no-insight',
  escapedCommand: 'npm exec --no jhipster -- --with-entities --force --skip-install --skip-git --ignore-errors --no-insight',
  exitCode: 1,
  signal: undefined,
  signalDescription: undefined,
  stdout: undefined,
  stderr: undefined,
  failed: true,
  timedOut: false,
  isCanceled: false,
  killed: false
}