3

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).

  • Regarding devstack, please check your LMS container that your local folder is shared with the container. check what's in this folder. "/edx/app/edxapp/" – Isanka Wijerathne Jun 14 '22 at 01:15
  • Hi @IsankaWijerathne, thank you for you comment. I make a edit to the question and add a picture of the directories that I have. I don't have so much experience with openedx or devstack, so maybe I don't know which is the correct way to run a custon openedx project when you only have these directories : edx-platform, ecommerce, ecommerce-themes, credentials and edx-theme. – pabloposada19 Jun 16 '22 at 00:54
  • what error(s) is in the /edx/app/edxapp/edx-platform/test_root/log/npm-install.log? – gregory Jun 30 '22 at 18:46
  • @gregory I don't have the directory /edx/app, I only have the folders that are in the picture in the edit of the post. – pabloposada19 Jul 02 '22 at 18:20

2 Answers2

0

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

gregory
  • 10,969
  • 2
  • 30
  • 42
  • Hi @gregogy I execute the command `apt install man` but the output says that it is already install, here is the output: `Reading package lists... Done Building dependency tree... Done Reading state information... Done Note, selecting 'man-db' instead of 'man' man-db is already the newest version (2.10.2-1). 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.` – pabloposada19 Jul 02 '22 at 18:02
0

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'