According to the best practices given in the Docker WSL information (at least when this was written), it is best to work in the Linux container rather than the Windows file system. This means you should clone OED into the Linux file system and run your code environment (such as Visual Studio Code) there as well. The information below assumes you have done this and the commands given are run in a Linux shell. Specifically, this means:
git clone <OED GitHub address>
in the Linux filesystem. Normally this is done by
opening the Linux terminal. You do not want the OED clone on your machine to be on the Windows
partition.
cd <path to OED main code directory>
code .
(This will start VSC and make the current
directory be the code you will work on.) Note the first time you may need to install VSC; This
normally happens automatically on Ubuntu. After the first time you can normally click the VSC
icon on Windows to start it. It will reopen with the WSL project if that was the last one. If
not, you can open the project folder from recent ones or via the command "WSL: Open Folder in
WSL...". If you ever have a folder open outside WSL but it is actually on WSL then you can use
the command to reopen in WSL (sometimes VSC will suggest you do that).docker compose up
might throw:FileNotFoundError: [Errno 2] No such file or directory
docker compose down
in a second terminal where it is in the same OED directory as the
install is happening. You should now be back at the command line. Do another
docker compose up
to restart OED.Normally this will complete the installation fairly quickly without further issues. For now, we encourage you to do these exact steps since deviations have been known to cause it to fail. If have issues then please contact us.
If you have the OED files stored on the Windows file system, then issues will likely occur. It can happen on install, when you run checks (linting) and for other OED scripts. This is because the file format is a little different. The best solution is to keep all files on the Linux file system (as suggested above). It is possible to modify the scripts with but this is not the recommended solution.