通过 Docker 安装 Moodle 时出现 RequireJS 错误“No Define call for core/first”

问题描述 投票:0回答:1

我正在开发一个涉及使用 Docker 部署 Moodle 的项目。该设置包括两个 Docker 容器:一个用于数据库 (MariaDB),一个用于 Moodle(我还有一个用于 django 的容器,但我认为与此特定问题无关)。我在 Mac 上开发并测试了容器,一切都按预期运行。然而,当我使用 GitHub 与一位朋友共享该项目,并且他尝试在他的 Windows 笔记本电脑上运行该项目时,他在 Moodle 安装页面中遇到了 JavaScript 错误,而这些错误在我的 Mac 上不会出现。浏览器控制台中显示的主要错误是:

require.min.js:5 Uncaught Error: No define call for core/first
http://requirejs.org/docs/errors.html#nodefine
    at makeError (require.min.js:5:1067)
    at Object.completeLoad (require.min.js:5:12223)
    at HTMLScriptElement.onScriptLoad (require.min.js:5:13016)
makeError @ require.min.js:5
completeLoad @ require.min.js:5
onScriptLoad @ require.min.js:5
load (async)
req.load @ require.min.js:5
load @ require.min.js:5
load @ require.min.js:5
fetch @ require.min.js:5
check @ require.min.js:5
enable @ require.min.js:5
enable @ require.min.js:5
(anonymous) @ require.min.js:5
(anonymous) @ require.min.js:5
each @ require.min.js:5
enable @ require.min.js:5
init @ require.min.js:5
(anonymous) @ require.min.js:5
setTimeout (async)
req.nextTick @ require.min.js:5
o @ require.min.js:5
requirejs @ require.min.js:5
(anonymous) @ editadvanced.php?id=2:2233

editadvanced.php?delayStartupUntil=configured:1 Uncaught SyntaxError: Unexpected token '<' (at            editadvanced.php?delayStartupUntil=configured:1:1)

editadvanced.php?id=2:2710 Uncaught TypeError: M.form.shortforms is not a function
    at editadvanced.php?id=2:2710:51
    at YUI._notify (yui_combo.php?rollup/3.18.1/yui-moodlesimple-min.js:2:1727)
    at yui_combo.php?rollup/3.18.1/yui-moodlesimple-min.js:2:1198
    at YUI._notify (yui_combo.php?rollup/3.18.1/yui-moodlesimple-min.js:2:1727)
    at YUI.T (yui_combo.php?rollup/3.18.1/yui-moodlesimple-min.js:2:2653)
    at e.Loader._finish (yui_combo.php?rollup/3.18.1/yui-moodlesimple-min.js:9:5471)
    at e.Loader._onSuccess (yui_combo.php?rollup/3.18.1/yui-moodlesimple-min.js:9:5985)
    at e.Loader.p (yui_combo.php?rollup/3.18.1/yui-moodlesimple-min.js:10:1933)
    at e.Loader.onSuccess (yui_combo.php?rollup/3.18.1/yui-moodlesimple-min.js:10:2733)
    at s._finish (yui_combo.php?rollup/3.18.1/yui-moodlesimple-min.js:5:4335)

此错误会导致 JavaScript 无法在安装页面上正确运行。以下是一些其他详细信息:

Docker 版本:我们都使用最新版本的 Docker。 浏览器:该错误发生在他的 Windows 笔记本电脑上的多个浏览器(Chrome、Firefox)上。 配置:我们正在部署的 Moodle 版本是 Moodle 4.4,我们的 Docker 设置包括自定义 .dockerignore 和 Dockerfile 配置,如果需要,我可以分享这些配置。

我尝试更改 gitignore 和 dockerignore,但这并没有解决问题

这是 dockerignore:

# Ignore version control directories
.git/
.gitignore

# Ignore all bytecode compiled files
__pycache__/
*.pyc
*.py[cod]
*$py.class

# Ignore Docker files that are not needed in the build context
Dockerfile
docker-compose.yml

# Ignore virtual environment
venv/

# Ignore any other unnecessary files
*.log
tmp/
local_settings.py

# Distribution / packaging
build/
dist/
*.egg-info/
*.egg

# Development tools
.vscode/
.idea/

# OS generated files
.DS_Store

# Moodle data
moodledata/
javascript windows docker requirejs moodle
1个回答
0
投票

我在 Docker 上运行的 Moodle 4.4 也遇到同样的问题。您找到解决方案了吗?你想在这里发布吗?

© www.soinside.com 2019 - 2024. All rights reserved.