generator-jhipster: Running jhipster command throws Error [ERR_PACKAGE_PATH_NOT_EXPORTED]
Overview of the issue
Running jhipster command throws Error [ERR_PACKAGE_PATH_NOT_EXPORTED]
Below the stacktrace:
➜ jhipster
INFO! Using bundled JHipster
node:internal/modules/cjs/loader:498
throw e;
^
Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './lib/util/namespace' is not defined by "exports" in /opt/homebrew/lib/node_modules/generator-jhipster/node_modules/yeoman-environment/package.json
at new NodeError (node:internal/errors:393:5)
at throwExportsNotFound (node:internal/modules/esm/resolve:340:9)
at packageExportsResolve (node:internal/modules/esm/resolve:619:3)
at resolveExports (node:internal/modules/cjs/loader:492:36)
at Module._findPath (node:internal/modules/cjs/loader:532:31)
at Module._resolveFilename (node:internal/modules/cjs/loader:941:27)
at Module._load (node:internal/modules/cjs/loader:803:27)
at Module.require (node:internal/modules/cjs/loader:1021:19)
at require (node:internal/modules/cjs/helpers:103:18)
at Object.<anonymous> (/opt/homebrew/lib/node_modules/generator-jhipster/utils/blueprint.js:19:25) {
code: 'ERR_PACKAGE_PATH_NOT_EXPORTED'
}
Node.js v18.8.0
Reproduce the error
Run jhipster command
JHipster Version(s)
➜ node --version
v18.8.0
➜ npm --version
8.19.1
➜ npm ls -g generator-jhipster
/opt/homebrew/lib
└── generator-jhipster@7.9.3
Browsers and Operating System
MacOS Monterey Version 12.5.1
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Reactions: 26
- Comments: 35 (7 by maintainers)
I could fix the problem by adding the export of “./lib/util/namespace”: “./lib/util/namespace.js” in /opt/homebrew/lib/node_modules/generator-jhipster/node_modules/yeoman-environment/package.json
switch to node v16. JHipster v7.9.3 is working well
Installing from v7 git branch should work:
I was trying to reproduce this issue that doesn’t happen on Mac with Node.js 16.
With Windows 11 and Node 18, I’m able to reproduce this issue with JHipster 7.9.3:
This same error happens on Mac with Node 18. Since Node 18 is latest LTS, we should fix this in 7.9.4.
I fixed the problem by adding the export of “./lib/util/namespace”: “./lib/util/namespace.js” in /usr/local/lib/node_modules/generator-jhipster/node_modules/yeoman-environment/package.json
I just fixed it by adding this entry “./lib/util/namespace”: “./lib/util/namespace.js” as related in the discussion in “exports”: { “.”: “./lib/environment.js”, “./cli/”: “./cli/”, “./lib/”: “./lib/”, “./lib/util/”: “./lib/util/”, “./adapter”: “./lib/adapter.js”, “./conflicter”: “./lib/util/conflicter.js”, “./log”: “./lib/util/log.js”, “./transform”: “./lib/util/transform.js”, “./package.json”: “./package.json”, “./lib/util/namespace”: “./lib/util/namespace.js”
Thanks! Fixed it for me on Mac, Ventura with jhipster 7.9.3
I can confirm. Happend to me when upgrading from JHipster 7.8.1 to 7.9.3. But the fix from @EspA works. Thanks for posting!
My recommended workaround is to use Node 16 or wait until the next release, where Node 18.13.0+ will be supported.
Works on Ubuntu 22.10 too after adding the below line (as EspA commented)
“./lib/util/namespace”: “./lib/util/namespace.js”
into
~/.nvm/versions/node/v18.12.1/lib/node_modules/generator-jhipster/node_modules/yeoman-environment/package.json
Add
Hi,
Please add this line to phrase exports in jhipster/node_modules/yeoman-environment/package.json. “exports”: { …, “./lib/util/namespace”: “./lib/util/namespace.js” }
Thanks for the workaround fix from @EspA. It started working for me as well.