node.jsnpmcommand-line-interfacesveltenpm-run

Getting npm run dev errors trying to work with Svelte


I'm trying to work through a Svelte starter project on MDN. I was able to run the first step of the project locally after using npx but when I tried to clone the Github repo I keep getting an error on npm run dev.

I'm on a Mac running Ventura 13.6.7.

I followed the instructions for creating your first Svelte app these terminal commands got it up and running:

npx degit sveltejs/template moz-todo-svelte
cd moz-todo-svelte
npm install
npm run dev

But when I followed these instructions for downloading the rest of the project, I cloned the project, navigated to the subfolder, ran npm install and then npm run dev. It keeps generating an error:

Error: Package subpath './compiler.js' is not defined by "exports" in /Users/eskinb/moz-todo-svelte/mdn-svelte-tutorial/02-starting-our-todo-app/node_modules/svelte/package.json
    at exportsNotFound (node:internal/modules/esm/resolve:304:10)
    at packageExportsResolve (node:internal/modules/esm/resolve:651:9)
    at resolveExports (node:internal/modules/cjs/loader:592:36)
    at Function.Module._findPath (node:internal/modules/cjs/loader:669:31)
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:1131:27)
    at Function.Module._load (node:internal/modules/cjs/loader:986:27)
    at Module.require (node:internal/modules/cjs/loader:1233:19)
    at require (node:internal/modules/helpers:179:18)
    at Object.<anonymous> (/Users/eskinb/moz-todo-svelte/mdn-svelte-tutorial/02-starting-our-todo-app/node_modules/rollup-plugin-svelte/index.js:11:4)
    at Module._compile (node:internal/modules/cjs/loader:1358:14)

The first time I ran npm install I got a warnings and was told to do npm audit fix. The above error appeared both before and after I did the fix.

I tried removing and reinstalling node_modules in the cloned version of the project.

I tried the Mac Terminal program and the one in Visual Studio Code.

I tried updating Node.js and that did not solve it.

This StackExchange post suggested npm cache clear --force but the warning on npm cache clear scared me off forcing it.


Solution

  • The template used here is no longer maintained and does not have a lock file (so getting version related errors is likely). As the repository states:

    This repo is no longer maintained. Consider using npm init vite and selecting the svelte option or — if you want a full-fledged app framework — use SvelteKit, the official application framework for Svelte.

    You could try setting up your project as outlined above, but as was already stated in a comment, I would also recommend just doing the offical tutorials.