Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Running jhipster command throws Error [ERR_PACKAGE_PATH_NOT_EXPORTED] #19627

Closed
EspA opened this issue Sep 2, 2022 · 35 comments
Closed

Running jhipster command throws Error [ERR_PACKAGE_PATH_NOT_EXPORTED] #19627

EspA opened this issue Sep 2, 2022 · 35 comments
Labels
area: bug 🐛 theme: dependencies Pull requests that update a dependency file
Milestone

Comments

@EspA
Copy link

EspA commented Sep 2, 2022

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

@EspA
Copy link
Author

EspA commented Sep 3, 2022

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

  "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"

@EspA EspA closed this as completed Sep 3, 2022
@d-donev
Copy link

d-donev commented Sep 7, 2022

I think that only the new version of j-hipster require the namespace to be exported in the package.json

@chenrui333
Copy link

Why closing this issue? I think it is a real issue.

@EspA
Copy link
Author

EspA commented Sep 10, 2022

This is true, I have closed the ticket too fast because of the workaround.

@EspA EspA reopened this Sep 10, 2022
@mshima mshima added this to the 7.9.4 milestone Sep 16, 2022
@mshima mshima added area: bug 🐛 theme: dependencies Pull requests that update a dependency file and removed area: triage theme: undefined labels Sep 16, 2022
@BitFlipp3r
Copy link

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!

@Akash-Sareen
Copy link

Thanks for the workaround fix from @EspA. It started working for me as well.

@mshima
Copy link
Member

mshima commented Oct 28, 2022

Installing from v7 git branch should work:

npm install -g jhipster/generator-jhipster#v7.x_maintenance

@caocuong2404
Copy link

switch to node v16. JHipster v7.9.3 is working well
image

@huynhkimtri
Copy link

Thanks @EspA for posting the workaround, glad it's helping people.

@mraible
Copy link
Contributor

mraible commented Nov 16, 2022

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:

C:\Users\mraible>jhipster
INFO! Using bundled JHipster
node:internal/modules/cjs/loader:535
      throw e;
      ^

Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './lib/util/namespace' is not defined by "exports" in C:\Users\mraible\AppData\Roaming\npm\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:358:9)
    at packageExportsResolve (node:internal/modules/esm/resolve:668:3)
    at resolveExports (node:internal/modules/cjs/loader:529:36)
    at Module._findPath (node:internal/modules/cjs/loader:569:31)
    at Module._resolveFilename (node:internal/modules/cjs/loader:981:27)
    at Module._load (node:internal/modules/cjs/loader:841:27)
    at Module.require (node:internal/modules/cjs/loader:1061:19)
    at require (node:internal/modules/cjs/helpers:103:18)
    at Object.<anonymous> (C:\Users\mraible\AppData\Roaming\npm\node_modules\generator-jhipster\utils\blueprint.js:19:25) {
  code: 'ERR_PACKAGE_PATH_NOT_EXPORTED'
}

Node.js v18.12.1

This same error happens on Mac with Node 18. Since Node 18 is latest LTS, we should fix this in 7.9.4.

@vishal423
Copy link
Contributor

vishal423 commented Nov 19, 2022

Today, With node.js v18.x, I noticed the same issue in the svelte blueprint cli shipster failing to recognize the exported cli and utils sub-paths from generator-jhipster ( even though I see those under exports).

node:internal/modules/cjs/loader:535
throw e;
^
Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './cli/cli/jhipster' is not defined by "exports" in /Users/vishal/oss/shipster/node_modules/generator-jhipster/package.json
at new NodeError (node:internal/errors:393:5)
at throwExportsNotFound (node:internal/modules/esm/resolve:358:9)
at packageExportsResolve (node:internal/modules/esm/resolve:668:3)
at resolveExports (node:internal/modules/cjs/loader:529:36)
at Module._findPath (node:internal/modules/cjs/loader:569:31)
at Module._resolveFilename (node:internal/modules/cjs/loader:981:27)
at Module._load (node:internal/modules/cjs/loader:841:27)
at Module.require (node:internal/modules/cjs/loader:1061:19)
at require (node:internal/modules/cjs/helpers:103:18)
at requireCLI (/Users/vishal/oss/shipster/cli/shipster.js:72:2) {
code: 'ERR_PACKAGE_PATH_NOT_EXPORTED'
}
Node.js v18.12.1

I assume the issue shall apply to other blueprints as well.

Everything seems to work fine with node.js v16.x

@kharmaodo
Copy link

kharmaodo commented Nov 24, 2022

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"

@bhagujava
Copy link

Thanks @kharmaodo its working fine

@richwxd
Copy link

richwxd commented Dec 2, 2022

Hi,

Please add this line to phrase exports in jhipster/node_modules/yeoman-environment/package.json.
"exports": {
...,
"./lib/util/namespace": "./lib/util/namespace.js"
}

@erikyuzwa
Copy link

This issue hit me today and from what I can gather, it's coming down to yeoman-environment. It needs to be version bumped to the latest (as of now 3.13.0).

I cloned this project to attempt that, and it's already being resolved to the correct version, yet when I run the latest generator to create a project, yeoman-environment is still resolving to 3.10.0 so I'm not sure how to push up a PR

@djassie
Copy link

djassie commented Dec 27, 2022

sudo vim sudo vim /usr/lib/node_modules/generator-jhipster/node_modules/yeoman-environment/package.json

// this can be /usr/lib or /lib according to the error generated

Add

{
/"./lib/util/namespace": "./lib/util/namespace.js"
}

@wlargou
Copy link

wlargou commented Dec 30, 2022

Thanks @djassie worked like a charm on macOS Ventura M1 using Node v18.12.1.

@jrixon
Copy link

jrixon commented Jan 10, 2023

Same problem on Ubuntu 22.04.1 LTS and Node.js 19.3.0.

Edit: Ironically, after I fixed the issue with the above suggestion, I was informed that Node.js 19 isn't supported because it's not an LTS version.

@MohamadHasanMasdar
Copy link

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

Thanks @EspA for sharing, you saved my day

@shospodarets
Copy link
Contributor

Starting 10 of October 2022 Node.js version 18 is LTS, and majority already updated (same as myself 🙂),
and they face this error and broken user experience (on both Windows and Mac), especially the starters.
Since it's fixed in 7.4 milestone and it looks like relatively manageable amount of changes there, @mshima @DanielFran @mraible WDYT to publish the 7.9.4 version?

@karimomaya
Copy link

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

"exports": {
  ...
  "./lib/util/namespace": "./lib/util/namespace.js"
  }

@shuoros
Copy link

shuoros commented Feb 28, 2023

Thanks @caocuong2404 that's worked for me.

switch to node v16. JHipster v7.9.3 is working well

@rgunczer
Copy link

rgunczer commented Mar 4, 2023

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

@SandraAhlgrimm
Copy link
Contributor

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

  "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

@dagboujhatem
Copy link

This issues is fixed in this pull request. you just have to wait for the validation of this one.

@xt0fer
Copy link

xt0fer commented Apr 24, 2023

yes, Mac Ventura; edited the
.../node_modules/generator-jhipster/node_modules/yeoman-environment/package.json file with adding the same thing

"./lib/util/namespace": "./lib/util/namespace.js"

@harqib
Copy link

harqib commented Apr 25, 2023

The issue is fixed with @EspA solution, add "./lib/util/namespace": "./lib/util/namespace.js" in .../node_modules/generator-jhipster/node_modules/yeoman-environment/package.json
jhipster v7.9.3

@devsparkles
Copy link

By the way, it's still a problem with node 20 (and 18) on windows 11
Capture d'écran 2023-05-02 071701

@erikyuzwa
Copy link

I haven't seen an issue for it yet, but I would imagine one option is to rework the guts of this CLI to get away from Yeoman. 🤔

@mraible
Copy link
Contributor

mraible commented May 2, 2023

My recommended workaround is to use Node 16 or wait until the next release, where Node 18.13.0+ will be supported.

@yhojann-cl
Copy link

yhojann-cl commented May 26, 2023

I confirm the problem in the following versions:

  • NodeJS v18.12.1
  • npm 9.6.7
  • generator-jhipster 7.9.3
  • OS GNU/Linux (Ubuntu 22.04 LTS).

By default the n package install node v18.12 as last default stable version.

INFO! Using bundled JHipster
node:internal/modules/cjs/loader:535
      throw e;
      ^

Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './lib/util/namespace' is not defined by "exports" in /usr/local/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:358:9)
    at packageExportsResolve (node:internal/modules/esm/resolve:668:3)
    at resolveExports (node:internal/modules/cjs/loader:529:36)
    at Module._findPath (node:internal/modules/cjs/loader:569:31)
    at Module._resolveFilename (node:internal/modules/cjs/loader:981:27)
    at Module._load (node:internal/modules/cjs/loader:841:27)
    at Module.require (node:internal/modules/cjs/loader:1061:19)
    at require (node:internal/modules/cjs/helpers:103:18)
    at Object.<anonymous> (/usr/local/lib/node_modules/generator-jhipster/utils/blueprint.js:19:25) {
  code: 'ERR_PACKAGE_PATH_NOT_EXPORTED'
}

@OpenTechConsult
Copy link

It works for me as well. Thank you.

@damir78
Copy link

damir78 commented Jun 4, 2023

Fresh installation on archlinux with fresh java17, node20 and npm9.6.7:

INFO! Using bundled JHipster
node:internal/modules/cjs/loader:575
throw e;
^

Error [ERR_PACKAGE_PATH_NOT_EXPORTED]: Package subpath './lib/util/namespace' is not defined by "exports" in /usr/lib/node_modules/generator-jhipster/node_modules/yeoman-environment/package.json
at new NodeError (node:internal/errors:399:5)
at exportsNotFound (node:internal/modules/esm/resolve:261:10)
at packageExportsResolve (node:internal/modules/esm/resolve:591:9)
at resolveExports (node:internal/modules/cjs/loader:569:36)
at Module._findPath (node:internal/modules/cjs/loader:643:31)
at Module._resolveFilename (node:internal/modules/cjs/loader:1056:27)
at Module._load (node:internal/modules/cjs/loader:923:27)
at Module.require (node:internal/modules/cjs/loader:1137:19)
at require (node:internal/modules/helpers:121:18)
at Object. (/usr/lib/node_modules/generator-jhipster/utils/blueprint.js:19:25) {
code: 'ERR_PACKAGE_PATH_NOT_EXPORTED'
}

Node.js v20.2.0

Fixed by editing /usr/lib/node_modules/generator-jhipster/node_modules/yeoman-environment/package.json

@deepu105
Copy link
Member

deepu105 commented Sep 5, 2023

closing as release v7.9.4 is being done

@deepu105 deepu105 closed this as completed Sep 5, 2023
@lehaiha2102
Copy link

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

  "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"

Tôi có thể khắc phục sự cố bằng cách thêm xuất "./lib/util/namespace": "./lib/util/namespace.js" trong /opt/homebrew/lib/node_modules/generator-jhipster/node_modules/yeoman-environment /gói.json

  "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"

There is a problem that in /lib folder /util/namespace.js does not exist, can anyone tell me how I can fix this?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area: bug 🐛 theme: dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging a pull request may close this issue.