question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@sveltejs/kit' on production build

See original GitHub issue

Describe the bug When I create a new SvelteKit project with the node adapter and try to use the files in the build directory, I get the following error:

Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@sveltejs/kit' imported from [...]

Logs

internal/process/esm_loader.js:74
    internalBinding('errors').triggerUncaughtException(
                              ^

Error [ERR_MODULE_NOT_FOUND]: Cannot find package '@sveltejs/kit' imported from [REDACTED]/app.js
    at packageResolve (internal/modules/esm/resolve.js:655:9)
    at moduleResolve (internal/modules/esm/resolve.js:696:18)
    at Loader.defaultResolve [as _resolve] (internal/modules/esm/resolve.js:810:11)
    at Loader.resolve (internal/modules/esm/loader.js:86:40)
    at Loader.getModuleJob (internal/modules/esm/loader.js:230:28)
    at ModuleWrap.<anonymous> (internal/modules/esm/module_job.js:56:40)
    at link (internal/modules/esm/module_job.js:55:36) {
  code: 'ERR_MODULE_NOT_FOUND'
}

To Reproduce

  • create a new SvelteKit skeleton project
  • add adapter-node to it
  • make sure all the deps have "next" as version
  • yarn && yarn build
  • isolate the build directory (I only want the production files in my production environment) by moving it somewhere else
  • add a package.json file to the directory with the contents: { "type": "module" } (for ESM)
  • node . <- This is what triggers the bug

Expected behavior

I expect the build directory to contain everything that is needed to run the app in isolation. Adding the small package.json file is another thing that I do not want to do myself.

When running node . the server should just run.

Information about your SvelteKit Installation:

Diagnostics
  System:
    OS: macOS 11.2.3
    CPU: (8) x64 Intel(R) Core(TM) i7-4870HQ CPU @ 2.50GHz
    Memory: 5.37 GB / 16.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 14.16.0 - ~/.volta/tools/image/node/14.16.0/bin/node
    Yarn: 1.22.10 - ~/.volta/tools/image/yarn/1.22.10/bin/yarn
    npm: 7.7.0 - ~/.volta/tools/image/npm/7.7.0/bin/npm
  Browsers:
    Chrome: 90.0.4430.85
    Firefox: 87.0
    Safari: 14.0.3
  npmPackages:
    @sveltejs/kit: ^1.0.0-next.74 => 1.0.0-next.91 
    svelte: ^3.29.0 => 3.37.0 
    vite: ^2.2.2 => 2.2.3 
  • Your adapter: Node

Severity It’s kind of annoying as I really want my production setup to be ready, but it doesn’t stop me from development.

Additional context All the above steps are done in a Dockerfile for production but I was able to reproduce it outside as well

Dockerfile
FROM node:14-alpine as build

ARG VITE_API_URL

RUN mkdir /svelte-build
WORKDIR /svelte-build

ENV VITE_API_URL=${VITE_API_URL}

COPY . .
RUN yarn && yarn build

FROM node:14-alpine as production

RUN addgroup -S app && adduser -S app -G app

RUN mkdir /app && chown app:app /app

USER app

WORKDIR /app

RUN echo '{ "type": "module" }' > /app/package.json
COPY --chown=app:app --from=build /svelte-build/build/ /app

EXPOSE 3000

CMD node index.js

Issue Analytics

  • State:closed
  • Created 2 years ago
  • Reactions:13
  • Comments:8 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
linzmeyercommented, Nov 13, 2021

I noticed that I didn’t have “@sveltejs/adapter-node” in my dependencies. Now it’s building fine. I wonder if others are doing this by mistake as well.

1reaction
utkarshkukreticommented, May 26, 2021

@katkrasinsk what if you add svelte to dependencies too?

Read more comments on GitHub >

github_iconTop Results From Across the Web

cannot find package sveltejs/adapter-auto svelte.config.js
I am using VS Code for the project. The issue is related to opening the project in VS Code, opening a terminal, and...
Read more >
Adapters • Docs • SvelteKit
Adapters are small plugins that take the built app as input and generate output for deployment. By default, projects are configured to use...
Read more >
@sveltejs/kit - npm
This is the SvelteKit framework and CLI. The quickest way to get started is via the create-svelte package: npm create svelte@latest my-app cd...
Read more >
I cannot build my sveltekit project with any adapter! failed to ...
rollupOptions.external` Error: [vite]: Rollup failed to resolve import "@sveltejs/kit/ssr" from ".svelte/build/app.js".
Read more >
SvelteKit $app cannot be found in svelte.config.js
Error [ERR_MODULE_NOT_FOUND]: Cannot find package '$app' imported from ... { dev } from '$app/env'; /** @type {import('@sveltejs/kit').
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found