vuejs应用程序不能用dockerized npm运行

我试图build立一个可重复的构build环境,不会混淆本地机器上的任何东西。 为此,我决定使用docker来包装npmvue cli。 一切运行在我第一次运行vue quickstart命令的机器上。

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

 $ ./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似乎永远不会出现在已安装的卷上。 我想我的docker设置是不完全正确的。 但我不知道是什么

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

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

注2:如果你没有“pyvenv”的python 3, fab develop任务将在fab 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 

“生成”文件夹在.gitignore文件中。 它不应该是。

我错误地将该文件夹作为具有构build工件的文件夹,同时包含构build过程的configuration文件。 因此它不应该被忽略,并且必须是存储库的一部分。 我已经将它添加到存储库,并且过程变得可重复而没有问题。