I am new to Open edX, and I am trying to set up a local development environment using the following steps:
python3 -m venv env
source env/bin/activate
git clone https://github.com/overhangio/tutor
cd tutor
git checkout main # this was the golden ticket
pip install -e .
tutor dev launch
For account-common, discussions-common, and learning-common, I am getting the same error:
> [account-common 4/9] RUN npm install @edly-io/indigo-frontend-component-footer@^2.0.0:
130.6 npm error code ERESOLVE
130.6 npm error ERESOLVE unable to resolve dependency tree
130.6 npm error
130.6 npm error While resolving: @edx/frontend-app-account@1.0.0-semantically-released
130.6 npm error Found: react@18.3.1
130.6 npm error node_modules/react
130.6 npm error react@"18.3.1" from the root project
130.6 npm error peer react@"^16.9.0 || ^17.0.0 || ^18.0.0" from @edx/frontend-platform@8.3.7
130.6 npm error node_modules/@edx/frontend-platform
130.6 npm error @edx/frontend-platform@"^8.3.3" from the root project
130.6 npm error peer @edx/frontend-platform@"^7.0.0 || ^8.0.0" from @edly-io/indigo-frontend-component-footer@2.0.3
130.6 npm error node_modules/@edly-io/indigo-frontend-component-footer
130.6 npm error @edly-io/indigo-frontend-component-footer@"^2.0.0" from the root project
130.6 npm error 6 more (@openedx/frontend-build, @openedx/paragon, react-dom, ...)
130.6 npm error
130.6 npm error Could not resolve dependency:
130.6 npm error peer react@"^16.9.0 || ^17.0.0" from @edly-io/indigo-frontend-component-footer@2.0.3
130.6 npm error node_modules/@edly-io/indigo-frontend-component-footer
130.6 npm error @edly-io/indigo-frontend-component-footer@"^2.0.0" from the root project
130.6 npm error
130.6 npm error Fix the upstream dependency conflict, or retry
130.6 npm error this command with --force or --legacy-peer-deps
130.6 npm error to accept an incorrect (and potentially broken) dependency resolution.
I did run into this problem recently and just uninstalled indigo, but I’ve tagged the post with tutor-indigo which I’ve been told will get the eyes of the Indigo maintainers.
However, I reviewed the link you shared as a third reference as well as your advice to uninstall Indigo, and I’ve managed to have things pretty close to working now. Here are the steps I ended up using:
python3 -m venv env
source env/bin/activate
git clone https://github.com/openedx/edx-platform
git clone https://github.com/overhangio/tutor
cd tutor
git checkout main # Fixes error for RUN npm run compile-sass -- --skip-themes
pip install -e .
Go into tutor/requirements/plugins.txt and delete the line tutor-indigo@git+https://github.com/overhangio/tutor-indigo@main then save.
Set Docker Desktop to use 12GB of RAM in Settings>Resources>Advanced>Resource Allocation:Memory limit
I tried putting the indigo line back in the plugins.txt and instead uninstalling it with tutor plugins disable indigo followed by tutor images build mfe openedx and then rebuilding, but now I am getting the following error. I also tried tutor images build openedx mfe --no-cache but I got the same error. Is there something else that I need to adjust?
=> ERROR [production 30/37] RUN npm run postinstall # Postinstall artifacts are stuck in nodejs-requirements layer. Create them here too. 1.2s
------
> [production 30/37] RUN npm run postinstall # Postinstall artifacts are stuck in nodejs-requirements layer. Create them here too.:
1.122
1.122 > edx@0.1.0 postinstall
1.122 > scripts/copy-node-modules.sh
1.122
1.132 =====================================================================================
1.132 Copying required assets from node_modules...
1.132 -------------------------------------------------------------------------------
1.132 Ensuring vendor directories exist...
1.132 +mkdir -p common/static/common/js/vendor
1.135 +mkdir -p common/static/common/css/vendor
1.138 Copying studio-frontend JS & CSS from node_modules into vendor directores...
1.147 find: ‘node_modules/@edx/studio-frontend/dist’: No such file or directory
1.149 Copying certain JS modules from node_modules into vendor directory...
1.150 +cp --force node_modules/backbone.paginator/lib/backbone.paginator.js node_modules/backbone/backbone.js node_modules/bootstrap/dist/js/bootstrap.bundle.js node_modules/hls.js/dist/hls.js node_modules/jquery-migrate/dist/jquery-migrate.js node_modules/jquery.scrollto/jquery.scrollTo.js node_modules/jquery/dist/jquery.js node_modules/moment-timezone/builds/moment-timezone-with-data.js node_modules/moment/min/moment-with-locales.js node_modules/requirejs/require.js node_modules/underscore.string/dist/underscore.string.js node_modules/underscore/underscore.js node_modules/which-country/index.js common/static/common/js/vendor
1.155 cp: cannot stat 'node_modules/backbone.paginator/lib/backbone.paginator.js': No such file or directory
1.155 cp: cannot stat 'node_modules/backbone/backbone.js': No such file or directory
1.156 cp: cannot stat 'node_modules/bootstrap/dist/js/bootstrap.bundle.js': No such file or directory
1.156 cp: cannot stat 'node_modules/hls.js/dist/hls.js': No such file or directory
1.156 cp: cannot stat 'node_modules/jquery-migrate/dist/jquery-migrate.js': No such file or directory
1.156 cp: cannot stat 'node_modules/jquery.scrollto/jquery.scrollTo.js': No such file or directory
1.156 cp: cannot stat 'node_modules/jquery/dist/jquery.js': No such file or directory
1.156 cp: cannot stat 'node_modules/moment-timezone/builds/moment-timezone-with-data.js': No such file or directory
1.156 cp: cannot stat 'node_modules/moment/min/moment-with-locales.js': No such file or directory
1.156 cp: cannot stat 'node_modules/requirejs/require.js': No such file or directory
1.156 cp: cannot stat 'node_modules/underscore.string/dist/underscore.string.js': No such file or directory
1.156 cp: cannot stat 'node_modules/underscore/underscore.js': No such file or directory
------
Dockerfile:212
--------------------
210 | # Build & collect production assets. By default, only assets from the default theme
211 | # will be processed. This makes the docker image lighter and faster to build.
212 | >>> RUN npm run postinstall # Postinstall artifacts are stuck in nodejs-requirements layer. Create them here too.
213 | RUN npm run compile-sass -- --skip-themes
214 | RUN npm run webpack
--------------------
ERROR: failed to solve: process "/bin/sh -c npm run postinstall # Postinstall artifacts are stuck in nodejs-requirements layer. Create them here too." did not complete successfully: exit code: 1
Error: Command failed with status 1: docker buildx build --tag=docker.io/overhangio/openedx:19.0.3-main --no-cache --output=type=docker --cache-from=type=registry,ref=docker.io/overhangio/openedx:19.0.3-main-cache --build-context=edx-platform=/Users/mgwozdz/axim/edx-platform /Users/mgwozdz/Library/Application Support/tutor-main/env/build/openedx
Thank you! I started over from scratch, and I was able to get it to build successfully without any errors, just warnings. I also updated my /etc/hosts file to point 127.0.0.1 to each domain from the build output. I’m able to get to http://local.openedx.io:8000 and I was able to create an account there and log in. However, when I try to go to http://studio.local.openedx.io:8001, I am redirected to http://localhost:2001/home which doesn’t correspond to any of the docker containers I have running. Do you know why this might be? Also, do you know how I can create an account for an administrator user?
My total setup steps are now these:
python3 -m venv env
source env/bin/activate
git clone https://github.com/openedx/edx-platform
git clone https://github.com/overhangio/tutor
cd tutor
git checkout main # Fixes error for RUN npm run compile-sass -- --skip-themes
pip install -e .
Set Docker Desktop to use 12GB of RAM in Settings>Resources>Advanced>Resource Allocation:Memory limit