How to run custom openedx project in localhost

595 Views Asked by At

I have the edx-platform, ecommerce, ecommerce-themes, credentials and edx-theme directories. I have installed successfully tutor and devstack but I didn't find the way to replace these custom directories. So, what is the correct way to replace them ?

After devstack runned successfully, I tried replacing the default directories with the custom ones but when I runned make dev.provision I get this output

+ docker-compose exec -T lms bash -e -c 'source /edx/app/edxapp/edxapp_env && cd /edx/app/edxapp/edx-platform && NO_PYTHON_UNINSTALL=1 paver install_prereqs'
/edx/app/edxapp/edxapp_env: line 13: manpath: command not found
---> pavelib.prereqs.install_prereqs
---> pavelib.prereqs.install_node_prereqs
npm install error detected. Retrying...


Captured Task Output:
---------------------

---> pavelib.prereqs.install_prereqs
---> pavelib.prereqs.install_node_prereqs
Traceback (most recent call last):
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/paver/tasks.py", line 201, in _run_task
    return do_task()
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/paver/tasks.py", line 198, in do_task
    return func(**kw)
  File "/edx/app/edxapp/edx-platform/pavelib/utils/timer.py", line 40, in timed
    return wrapped(*args, **kwargs)
  File "/edx/app/edxapp/edx-platform/pavelib/prereqs.py", line 332, in install_prereqs
    install_node_prereqs()
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/paver/tasks.py", line 333, in __call__
    retval = environment._run_task(self.name, self.needs, self.func)
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/paver/tasks.py", line 219, in _run_task
    return do_task()
  File "/edx/app/edxapp/venvs/edxapp/lib/python3.8/site-packages/paver/tasks.py", line 198, in do_task
    return func(**kw)
  File "/edx/app/edxapp/edx-platform/pavelib/utils/timer.py", line 40, in timed
    return wrapped(*args, **kwargs)
  File "/edx/app/edxapp/edx-platform/pavelib/prereqs.py", line 184, in install_node_prereqs
    prereq_cache("Node prereqs", ["package.json"], node_prereqs_installation)
  File "/edx/app/edxapp/edx-platform/pavelib/prereqs.py", line 111, in prereq_cache
    install_func()
  File "/edx/app/edxapp/edx-platform/pavelib/prereqs.py", line 154, in node_prereqs_installation
    raise Exception("npm install failed: See {}".format(npm_log_file_path))
Exception: npm install failed: See /edx/app/edxapp/edx-platform/test_root/log/npm-install.log

make[1]: *** [Makefile:217: impl-dev.provision] Error 1
make[1]: Leaving directory '/home/pablo/Documents/prueba/devstack'
Would you like to assist devstack development by sending anonymous usage metrics to edX? Run `make metrics-opt-in` to learn more!
make: *** [Makefile:221: dev.provision] Error 2

EDIT

The directories that I have after run make dev.provision and make dev.up with the default project of devstack, are the following ones:

Directories of default project devstack openedx

The thing that I tried was replace the default directories with the custom directories (open-edx-platform, ecommerce, ..., etc).

2

There are 2 best solutions below

1
gregory On

If you look at your log, you'll see the following error:

/edx/app/edxapp/edxapp_env: line 13: manpath: command not found

This suggests (guessing here!) you're missing man. So try installing it, e.g.:

apt install man

Others have reported similar kinds of errors when using nvm, e.g. see here

0
Marcell Bolubás On

It seems the npm install is failing.

I don't know if you already have node & npm installed but you could try installing it, and see what the result is afterwards.

sudo apt update
sudo apt install nodejs npm

If you posted the npm log file, it would help a lot. You should be able to find it, per the source code, in the directory specified by the environment variable GEN_LOG_DIR:

{Env.GEN_LOG_DIR}/npm-install.log'