# Troubleshooting #

If the suggestions here don't work, please try posting questions on GitHub Discussions or in the #help channel of Vite Land Discord.

## CLI #

### Error: Cannot find module 'C:\foo\bar&baz\vite\bin\vite.js'#

The path to your project folder may include ?, which doesn't work with npm on Windows (npm/cmd-shim#45).

You will need to either:

• Switch to another package manager (e.g. pnpm, yarn)
• Remove ? from the path to your project

## Dev Server #

### Requests are stalled forever #

If you are using Linux, file descriptor limits and inotify limits may be causing the issue. As Vite does not bundle most of the files, browsers may request many files which require many file descriptors, going over the limit.

To solve this:

• Increase file descriptor limit by ulimit

# Check current limit
$ulimit -Sn # Change limit (temporary)$ ulimit -Sn 10000 # You might need to change the hard limit too

• Increase the following inotify related limits by sysctl

# Check current limits
$sysctl fs.inotify # Change limits (temporary)$ sudo sysctl fs.inotify.max_queued_events=16384
$sudo sysctl fs.inotify.max_user_instances=8192$ sudo sysctl fs.inotify.max_user_watches=524288


## HMR #

### Vite detects a file change but the HMR is not working #

You may be importing a file with a different case. For example, src/foo.js exists and src/bar.js contains:

import './Foo.js' // should be './foo.js'


Related issue: #964

### Vite does not detect a file change #

If you are running Vite with WSL2, Vite cannot watch file changes in some conditions. See server.watch option.

If HMR is not handled by Vite or a plugin, a full reload will happen.

Also if there is a dependency loop, a full reload will happen. To solve this, try removing the loop.

## Others #

### Syntax Error / Type Error happens #

Vite cannot handle and does not support code that only runs on non-strict mode (sloppy mode). This is because Vite uses ESM and it is always strict mode inside ESM.

For example, you might see these errors.

[ERROR] With statements cannot be used with the "esm" output format due to strict mode

TypeError: Cannot create property 'foo' on boolean 'false'

If these code are used inside dependecies, you could use patch-package (or yarn patch or pnpm patch) for an escape hatch.

Released under the MIT License. (ba23711d)