Main entry point does not exist
If you get an error in the deploy log that says that your package.json
points to a file that does not exist, here is how to fix it.
Error message
ERROR: The main entry point defined in package.json 'index.js' does not exist.
https://docs.npmjs.com/cli/v8/configuring-npm/package-json#main
"main": "index.js"
To fix do the following:
- update the entry in package.json that points to the correct file:
"main":"./some_folder/some_file.js",
Solution
Cyclic launches your code by running node .
. By default this will look for a main
entry in your package.json
. If that entry does not exist it will then default to server.js
.
Either you can define a main
entry that points to your entry point - for example:
{
"main": "src/index.js",
...
}
Or, you can ensure the entry point to your Express application is a server.js
file in the root directory.
Why does this happen?
By default when you run npm init
it creates a main
entry in package.json
which points to index.js
. Most frameworks init their entry points in files other than index.js
in the root directory. Hence the mismatch in default behavior.