vite
vite copied to clipboard
Running on root directory "Failed to resolve entry for package"
Describe the bug
When running on Linux, in the root directory, if you try to access vite_url:3000/path-of-working-dir, you will get the following error:
Failed to resolve entry for package "/my-vue-app". The package may have incorrect main/module/exports specified in its package.json: Failed to resolve entry for package "/my-vue-app". The package may have incorrect main/module/exports specified in its package.json.
Steps to reproduce:
-
cd /
-
npm create vite@latest my-vue-app -- --template vue
-
cd my-vue-app
-
npm run dev
- Access
http://192.168.64.13:3000/my-vue-app
- See error
If my-vue-app
is on any other folder other than /
(root directory) this error doesn't happen.
This is running on a Ubuntu VM inside my M1 Pro Macbook.
Reproduction
Reproduction steps above
System Info
System:
OS: Linux 5.4 Ubuntu 20.04.3 LTS (Focal Fossa)
CPU: (4) arm64 unknown
Memory: 1.27 GB / 7.75 GB
Container: Yes
Shell: 5.0.17 - /bin/bash
Binaries:
Node: 16.13.2 - /usr/bin/node
Yarn: 1.22.15 - /usr/bin/yarn
npm: 8.1.2 - /usr/bin/npm
Browsers:
Chromium: 98.0.4758.80
npmPackages:
@vitejs/plugin-vue: ^2.2.0 => 2.2.0
vite: ^2.8.0 => 2.8.0
Used Package Manager
npm
Logs
Failed to resolve entry for package "/my-vue-app". The package may have incorrect main/module/exports specified in its package.json: Failed to resolve entry for package "/my-vue-app". The package may have incorrect main/module/exports specified in its package.json.
at packageEntryFailure (/my-vue-app/node_modules/vite/dist/node/chunks/dep-c9c9d3e5.js:29511:11)
at resolvePackageEntry (/my-vue-app/node_modules/vite/dist/node/chunks/dep-c9c9d3e5.js:29507:9)
at tryResolveFile (/my-vue-app/node_modules/vite/dist/node/chunks/dep-c9c9d3e5.js:29237:38)
at tryFsResolve (/my-vue-app/node_modules/vite/dist/node/chunks/dep-c9c9d3e5.js:29219:16)
at Context.resolveId (/my-vue-app/node_modules/vite/dist/node/chunks/dep-c9c9d3e5.js:29112:56)
at Object.resolveId (/my-vue-app/node_modules/vite/dist/node/chunks/dep-c9c9d3e5.js:38242:55)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async ModuleGraph.resolveUrl (/my-vue-app/node_modules/vite/dist/node/chunks/dep-c9c9d3e5.js:53426:26)
at async ModuleGraph.getModuleByUrl (/my-vue-app/node_modules/vite/dist/node/chunks/dep-c9c9d3e5.js:53311:23)
at async doTransform (/my-vue-app/node_modules/vite/dist/node/chunks/dep-c9c9d3e5.js:52879:20
### Validations
- [X] Follow our [Code of Conduct](https://github.com/vitejs/vite/blob/main/CODE_OF_CONDUCT.md)
- [X] Read the [Contributing Guidelines](https://github.com/vitejs/vite/blob/main/CONTRIBUTING.md).
- [X] Read the [docs](https://vitejs.dev/guide).
- [X] Check that there isn't [already an issue](https://github.com/vitejs/vite/issues) that reports the same bug to avoid creating a duplicate.
- [X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/core instead.
- [X] Check that this is a concrete bug. For Q&A open a [GitHub Discussion](https://github.com/vitejs/vite/discussions) or join our [Discord Chat Server](https://chat.vitejs.dev/).
- [X] The provided reproduction is a [minimal reproducible example](https://stackoverflow.com/help/minimal-reproducible-example) of the bug.
I've tested in a container running node:16-alpine
interactively on a Linux host (5.14) and the bug is reproducible.
$ docker run --rm -it node:16-alpine ash
# npm create vite@latest my-vue-app -- --template vue
# cd /my-vue-app
# yarn
# yarn run dev --host
Then on a browser:
-> http://172.17.0.2:3000/my-vue-app
-> Error 500
[vite] Internal server error: Failed to resolve entry for package...
Workaround; Entry point differs from index.js
in root folder. Add your entrypoint to package.json
main key:
{
"main": "[your_entry_point]"
}
I encounter this issue with vite 2.9+ and it wasn't the case before. Defining an entry point in the “main” field of package.json
indeed solve the issue.
But since I'm already defining my two entry points in optimizeDeps.entries
I think it shouldn't be necessary to include them as well in the package.json
Same. Started facing this after 2.9. I was able to reproduce it here - https://stackblitz.com/edit/github-12zodn?file=src%2Fentry-server.js&terminal=dev
For me, It seems to be happening when I use vite.transformIndexHtml
and pass <style>
tags to it during SSR 🤔
@saurabhdaware My issue was indeed caused by transformIndexHtml
and I was able to fix it in https://github.com/betagouv/mon-entreprise/commit/c2014f73f6dd0f688b9b61cf39ce11f9b0556a21
You probably don't have the exact same problem but you can log req.url
to see what is the request causing this error.
I think vitejs/vite#7869 will resolve this right @poyoho? (Ref: https://github.com/vitejs/vite/issues/6859#issuecomment-1109806891)
I am guessing the issue is happening because transformIndexHtml
was rendering a <script>
tag with a non-existent src
🤔
You probably don't have the exact same problem but you can log req.url to see what is the request causing this error.
Yeah I think my issue is a bit different. Due to vitejs/vite#7913 my code is rendering a non-existent src in <script>
. Vite then probably thinks that it is my entry file and fails since it doesn't exist.
hello, is same with vitejs/vite#7913 ?
after this PR, inline style will keep. and add a request for hmr. I test it in vite playground, it seem to work well. could you like to test in your case?
hello, is same with https://github.com/vitejs/vite/issues/7913 ?
It is a bit different. The issue I mentioned in comment here https://github.com/vitejs/vite/issues/6859#issuecomment-1109806891 seems to be because of the inlined CSS change however the cause for the original issue might be different.
But I don't think it will resolve this issue since it seems to be created before 2.9 release. The reason for original issue is probably different.
after this PR, inline style will keep. and add a request for hmr. I test it in vite playground, it seem to work well. could you like to test in your case?
Yup I'll check this
Just checked locally for my use-case. Your PR did fix the vitejs/vite#7913 but it did not fix this issue for me. This might be something different.
I noted. Is may all request process into transformIndex
, error handle ?html-proxy&1.css
I don't konw . Is same problem cause of this ?
If I create a package at root directory , and package directory name is "foo“ , then vite devsever response vite_url:3000/foo , will throw this error.
https://stackblitz.com/edit/github-12zodn-j9tw2b?file=server.js I test it, it maybe is not the vite bug?
We fixed the issue using the workaround provided by https://github.com/vitejs/vite/issues/6859#issuecomment-1086895007.
Adding "main"
to our package.json
fixed the issue. This would still be a bug if adding it shouldn't be necessary. Otherwise, is fixed.
oh sorry, I think it same with https://github.com/vitejs/vite-plugin-vue/issues/25 ?
Not sure if I understood the 7220 but it seems a bit different to me.
For me this is happening when I pass <style></style>
to vite.transformIndexHtml
I added some logs in this - https://stackblitz.com/edit/github-12zodn-joz2gx?file=server.js&terminal=dev
You can see that it is failing on transformIndexHtml 🤔
Hello @poyoho Nice to meet you. Now I am having this issue:
[vite] Internal server error: Cannot set properties of undefined (setting 'isSelfAccepting')
Plugin: vite:import-analysis
When I pnpm i, then it shows the above issue. Vite version is 3.0.8 and Svelte version is 3.49.0 so how can fix this issue?
@chris-sab do you create the project start with root dir /
?
I get a different, but possibly related bug when I try to build with Vite (first time user). The difference is that Vite is failing to link a dependency of one of my dependencies. I'm using Vite 3.0.9 on MacOS.
[commonjs] Failed to resolve entry for package "@opentelemetry/otlp-exporter-base". The package may have incorrect main/module/exports specified in its package.json.
file: /Users/kris/WebstormProjects/polywrap/demos/hello-world/app/solidjs/node_modules/@polywrap/core-js/build/uri-resolution/resolvers/index.js
error during build:
Error: Failed to resolve entry for package "@opentelemetry/otlp-exporter-base". The package may have incorrect main/module/exports specified in its package.json.
at packageEntryFailure (file:///Users/kris/WebstormProjects/polywrap/demos/hello-world/app/solidjs/node_modules/vite/dist/node/chunks/dep-0fc8e132.js:34705:11)
at resolvePackageEntry (file:///Users/kris/WebstormProjects/polywrap/demos/hello-world/app/solidjs/node_modules/vite/dist/node/chunks/dep-0fc8e132.js:34702:5)
at tryNodeResolve (file:///Users/kris/WebstormProjects/polywrap/demos/hello-world/app/solidjs/node_modules/vite/dist/node/chunks/dep-0fc8e132.js:34452:20)
at Object.resolveId (file:///Users/kris/WebstormProjects/polywrap/demos/hello-world/app/solidjs/node_modules/vite/dist/node/chunks/dep-0fc8e132.js:34254:28)
at file:///Users/kris/WebstormProjects/polywrap/demos/hello-world/app/solidjs/node_modules/rollup/dist/es/shared/rollup.js:22695:37
error Command failed with exit code 1.
@krisbitney did you end up figuring this out?
Still having same issue !!!
Same issue for me as well
node: 18.12.1 pnpm: 7.20.0 vite: 2.9.10 vue: 3.2.45
✘ [ERROR] [plugin vite:dep-scan] Failed to resolve entry for package "primevue/menuitem". The package may have incorrect main/module/exports specified in its package.json: Failed to resolve entry for package "primevue/menuitem". The package may have incorrect main/module/exports specified in its package.json.
I have also noticed that if vite can't find the lib in question it reports using this error. Instead of saying it's missing it says something else which is confusing. I have solved this by adding the package to the lib that was missing.
I had the same error as you and the reason was in <video poster="/">
because the poster had the path '/'
stupid mistake)
I started having this issue when one of my dependencies switched from using the main
field to browser
field for its main entry point.
The only solution I have found is to declare an alias for this dependency pointing to its entry point in the vite.config.ts
file.
// simplified for brevity
export default defineConfig({
resolve: {
alias: {
'leaflet.gridlayer.googlemutant': './node_modules/leaflet.gridlayer.googlemutant/dist/Leaflet.GoogleMutant.js'
}
}
})
I hope this gets fixed soon.
I've the same issue, I cloned https://github.com/vitejs/vite-plugin-vue and tried the /playground/ssr-vue example, after installing with pnpm and npm run dev
> @vitejs/[email protected] dev
> node server
✘ [ERROR] [plugin externalize-deps] Failed to resolve entry for package "@vitejs/plugin-vue". The package may have incorrect main/module/exports specified in its package.json.
Node.js v19.7.0
This is replicable using React with React Router too. For anyone else with the same problem, as the above says just set your main
in package.json
to:
"main": "./src/main.tsx",
I had the same error, deleting node_modules and running npm install
again worked for me with Vite version on v4.1.4