Open antsoftwaredev opened 8 months ago
Any idea what might cause this and how to fix it @masavini ?
The issue seems to be if the bashrc.override.sh has CRLF line endings when the container is built. If you change the line endings to LF, rebuild the container, the bashrc.override.sh script runs correctly.
Thanks for the investigation, PR welcome
Thanks for the investigation, PR welcome
I don't have the time to look into how to enforce LF line endings while generating the shell script. At the very least this thread can indicate to others what must be done if they have the same issue.
Hi, I followed your advice and removed the CRs from bashrc.override.sh using Notepad++ as outlined here: https://stackoverflow.com/questions/17510688/single-script-to-run-in-both-windows-batch-and-linux-bash/48938482#48938482 I would love to know how to do this in VScode, but I can't brane anymore.
Hi, I followed your advice and removed the CRs from bashrc.override.sh using Notepad++ as outlined here: https://stackoverflow.com/questions/17510688/single-script-to-run-in-both-windows-batch-and-linux-bash/48938482#48938482 I would love to know how to do this in VScode, but I can't brane anymore.
Sorry I'm not near my computer to post a screen shot, but in the bottom right of the screen you can see a little "CRLF". Click that and then choose LF.
Hi, yeah, I tried that but it didn't work. VScode seems to pick up the CRLF from the override shell script file. Changing it to LF only only works when you stop and restart the shell. But that causes the override script to run so you're back to square one. But thank you for the suggestion. I really do appreciate it.
I had this exact issue in the last couple of days.
In order to fix it I had to do the following change in {{cookiecutter.project_slug}}\.devcontainer\devcontainer.json
- "postCreateCommand": "cat .devcontainer/bashrc.override.sh >> ~/.bashrc"
+ "postCreateCommand": "cat .devcontainer/bashrc.override.sh >> ~/.bashrc; sed -i 's/\r$//' ~/.bashrc"
What happened?
Fresh install of a project using django cookiecutter (using VS Code and Docker) results in new bash terminals not being configured correctly.
What should've happened instead?
The entrypoint should be executed and a bash terminal that can properly execute manage.py commands should be created.
Additional details
Project generation options: The only ones that seem to matter are: windows: Y editor: VS Code use_docker: Y
Simply opening a new bash terminal results in the following output:
In previous versions of the cookiecutter template that did not try to integrate VS Code, I had my own solution to creating valid bash terminals (simply passing in a start script to the bash command line, which called entrypoint and executed the bash shell)
Host system configuration:
Version of cookiecutter CLI (get it with
cookiecutter --version
): Cookiecutter 2.4.0OS name and version: OS Name: Microsoft Windows 11 Pro OS Version: 10.0.22621 N/A Build 22621
Python version, run
python3 -V
: 3.11.6Docker version (if using Docker), run
docker --version
: Docker version 24.0.6, build ed223bcdocker compose version (if using Docker), run
docker compose --version
: Docker Compose version v2.23.0-desktop.1