Skip to content

Troubleshoot issues with your development setup

Section titled “Issues with Installing the Recommended Prerequisites”

We regularly develop on the latest or most popular operating systems like macOS 10.15 or later, Ubuntu 20.04 or later, and Windows 10 or later (with WSL2).

It is recommended to research your specific issue on resources such as Google, Stack Overflow, and Stack Exchange. There is a good chance that someone has faced the same issue and there is already an answer to your specific query.

If you are on a different OS or are still facing issues, see getting help.

Performance and Stability Issues on WSL2 Linux Distro

Section titled “Performance and Stability Issues on WSL2 Linux Distro”

If you are working on a WSL2 Linux Distro, you might get performance and stability issues by running this project in a folder which is shared between Windows and WSL2 (e.g. /mnt/c/Users/).

Therefore we recommend to clone this repo into a folder which is mainly used by your WSL2 Linux Distro and not directly shared with Windows (e.g. ~/PROJECTS/).

See this GitHub Issue for further information about this problem.

Troubleshooting port issues on GitHub Codespaces

Section titled “Troubleshooting port issues on GitHub Codespaces”

Sometimes the service on port 8000 does not go live. This is common when you restart an inactive codespace.

Start the two servers in separate terminals from the project root (/workspaces/freeCodeCamp):

Terminal window
pnpm run develop:api
Terminal window
pnpm run develop:client

This makes port 8000 available. Be mindful of how the URLs and ports work inside a GitHub Codespace.

The Ports panel lists port 8000 but the browser cannot open it

Section titled “The Ports panel lists port 8000 but the browser cannot open it”

This happens in a Dev Container on your own machine, where the client can bind IPv6 loopback only. Stop the client, then start it with an explicit host:

Terminal window
GATSBY_HOST=0.0.0.0 pnpm run develop

Update your branch from upstream/main and rebuild the container to get this by default.

The client loads but every API request fails

Section titled “The client loads but every API request fails”

This happens in a codespace when .env still points at localhost.

A browser tab inside a codespace cannot reach localhost. That address points at your own machine, not at the codespace.

  1. From the project root (/workspaces/freeCodeCamp), check the two values in .env:

    Terminal window
    grep -E '^(HOME_LOCATION|API_LOCATION)=' .env

    In a codespace both must use your forwarded port URLs, for example https://CODESPACE_NAME-8000.app.github.dev.

  2. If they still use localhost, run the codespace environment script again from the same directory:

    Terminal window
    .devcontainer/codespace-env.sh
  3. Rebuild the client so that it picks up the new values:

    Terminal window
    pnpm run develop
  4. Set port 3000 to public. In the Ports panel, right click port 3000, then choose Port Visibility > Public.

    The container sets this on every start. Do this yourself only if it reported that it could not.

Issues with Missing UI, Fonts, Language Strings, or Build Errors

Section titled “Issues with Missing UI, Fonts, Language Strings, or Build Errors”

When you build the client, Gatsby will cache the fonts, language strings, and UI. If one of them isn’t cached, run the following:

Terminal window
pnpm run clean
Terminal window
pnpm install
Terminal window
pnpm run seed
Terminal window
pnpm run develop

OR

Use the shorter handy command that does the above steps:

Terminal window
pnpm run clean-and-develop

If you continue to face issues with the build, cleaning up the workspace is recommended.

Use git clean in interactive mode:

Terminal window
git clean -ifdX
How to clean git untracked files (screenshot)
How to clean git untracked files

Issues with API, login, Challenge Submissions, etc.

Section titled “Issues with API, login, Challenge Submissions, etc.”

If you can’t sign in, and instead you see a banner with an error message saying that the error will be reported to freeCodeCamp, please double-check that your local port 3000 is not in use by a different program.

Terminal window
netstat -a | grep "3000"

Check the output:

tcp4 0 0 0.0.0.0:3000 DESKTOP LISTEN

While in development, your session is stored as cookies. Clearing them will sign you out of your development account.

Running pnpm run seed:certified-user will log you out, too. It will overwrite the development user in your local database.

If you get errors while installing the dependencies, please make sure that you are not in a restricted network or your firewall settings do not prevent you from accessing resources.

To see how the client renders in another language go to How to Work on Localized Client Webapp.

If you are stuck and need help, feel free to ask questions in the ‘freeCodeCamp Community’ category on our forum or the contributors chat room.

There might be an error in the console of your browser or in Bash / Terminal / Command Line that will help identify the problem. Provide this error message in your problem description so others can more easily identify the issue and help you find a resolution.