docker中vue应用build时出现找不到semver模块的问题如何解决?

z392587086 2019-10-14 02:34:41
楼主这几天想用docker里运行一个vue应用,网上下载下来的是用yarn build进行发布的。但是每次Dockerfile执行到yarn build命令时都报同一个错误。
internal/modules/cjs/loader.js:638
throw err;
^

Error: Cannot find module 'semver'

觉得很奇怪,并且在Dockerfile中install semver还是同样问题。查阅了网上资料,说这个模块应该时nodejs自带的。那么docker中的nodejs为什么没有这个模块呢。
贴上Dockerfile文件

FROM node:10.16.3
# 如果你在国内,这行配置很有必要,不然打包会非常非常慢,原因嘛,都懂。
RUN npm config set registry https://registry.npm.taobao.org

# install simple http server for serving static content
RUN npm install -g http-server

# make the 'app' folder the current working directory
WORKDIR /app

# copy both 'package.json' and 'package-lock.json' (if available)
COPY package*.json ./

# install project dependencies
RUN yarn install

# copy project files and folders to the current working directory (i.e. 'app' folder)
COPY . .

# build app for production with minification
RUN yarn build

EXPOSE 8080
# 加入端口自定义配置,避免与其他K8S容器端口冲突
CMD [ "http-server","-p","8080", "dist" ]
...全文
214 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
王念存于心 2019-10-17
  • 打赏
  • 举报
回复
你这情况估计是没有默认安装包里面没有,找个编译版的自己编译一下吧,打成tar包,在再dockerfile里面直接ADD加进环境应该就行。
z392587086 2019-10-17
  • 打赏
  • 举报
回复
引用 1 楼 王念存于心 的回复:
你这情况估计是没有默认安装包里面没有,找个编译版的自己编译一下吧,打成tar包,在再dockerfile里面直接ADD加进环境应该就行。
感谢回复,我去试一下

1,163

社区成员

发帖
与我相关
我的任务
社区描述
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux 机器上,也可以实现虚拟化。
社区管理员
  • Docker
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧