vuejs 应用程序不使用 dockerized npm 运行
Posted
技术标签:
【中文标题】vuejs 应用程序不使用 dockerized npm 运行【英文标题】:vuejs application does not run with dockerized npm 【发布时间】:2017-11-20 02:16:00 【问题描述】:我正在尝试建立一个可重复的构建环境,它不会与本地机器上的任何东西混淆。为此,我决定使用 docker 来包装 npm
和 vue
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 设置不太对劲。但我不知道是什么。
要重现以下错误,请运行以下命令:
注意您需要为第四步安装“fabric”。没有的话看fabfile.py
的内容,真的很容易理解,手动运行任务。
NOTE2 如果您没有带有“pyvenv”的python 3,fab develop
任务将在develop
任务的最后一步失败。您可以忽略此 docker/npm 问题,因为不需要 Python 部分。
git clone https://github.com/exhuma/powonline
cd powonline
git checkout ***-2017-06-17
fab develop
cd frontend
./npm run dev
【问题讨论】:
【参考方案1】:“build”文件夹位于 .gitignore
文件中。不应该。
我错误地将该文件夹视为包含构建工件的文件夹,而它包含构建过程的配置文件。因此它不应该被忽略并且必须是存储库的一部分。我已经将它添加到存储库中,并且该过程已变得可重复而没有问题。
【讨论】:
以上是关于vuejs 应用程序不使用 dockerized npm 运行的主要内容,如果未能解决你的问题,请参考以下文章
如何在 docker 中启动 vuejs s-s-r 服务器
Docker 使用 Gitlab CI 为 Vue JS 构建一致性