Vuejs 应用程序不与 dockerized npm 一起运行



我正在尝试建立一个可重复的构建环境,该环境不会弄乱本地计算机上的任何内容。为此,我决定使用 docker 来包装npmvuecli。一切都在我第一次运行 vue 快速启动命令的机器上运行。

但是,当我从另一台计算机上的存储库中获取新克隆时,在运行设置过程后出现以下错误:

$ ./npm run dev
> my-project@1.0.0 dev /data
> node build/dev-server.js
module.js:472
throw err;
^
Error: Cannot find module '/data/build/dev-server.js'
at Function.Module._resolveFilename (module.js:470:15)
at Function.Module._load (module.js:418:25)
at Module.runMain (module.js:605:10)
at run (bootstrap_node.js:427:7)
at startup (bootstrap_node.js:148:9)
at bootstrap_node.js:542:3
npm ERR! Linux 4.4.0-57-generic
npm ERR! argv "/usr/local/bin/node" "/usr/local/bin/npm" "run" "dev"
npm ERR! node v7.7.4
npm ERR! npm  v4.1.2
npm ERR! code ELIFECYCLE
npm ERR! my-project@1.0.0 dev: `node build/dev-server.js`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the my-project@1.0.0 dev script 'node build/dev-server.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the my-project package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     node build/dev-server.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs my-project
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls my-project
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR!     /data/npm-debug.log

它说详细信息在/data/npm-debug.log但我也看不到该文件。因此,build文件夹和npm-debug.log似乎从未出现在装入的卷上。我想我的码头工人设置有些不太对劲。但我不知道是什么。

要重现以下错误,请运行以下命令:

注意:您需要为第 4 步安装"结构"。如果没有,请查看fabfile.py的内容,它真的很容易理解并手动运行任务。

注2如果你没有带有"pyvenv"的python 3,fab develop任务将在develop任务的最后一步失败。对于此docker/npm问题,您可以忽略这一点,因为不需要Python部分。

git clone https://github.com/exhuma/powonline
cd powonline
git checkout stackoverflow-2017-06-17
fab develop
cd frontend
./npm run dev

"build"文件夹位于.gitignore文件中。不应该是这样。

我错误地将该文件夹视为包含构建工件的文件夹,而它包含构建过程的配置文件。因此,它不应被忽略,并且必须是存储库的一部分。此后,我已将其添加到存储库中,并且该过程已变得可重复而不会出现问题。

最新更新