【问题标题】:vue not found in docker container在 docker 容器中找不到 vue
【发布时间】:2022-01-27 22:35:09
【问题描述】:

我正在尝试在 docker 容器中运行 vue/cli。
我通过docker exec -it命令启动容器进入容器的cli,输入命令npm install @vue/cli。现在,当我看到容器的 package.json 文件时,我看到了已安装的包,但是当我尝试使用命令 vue create <project-name> 创建项目时,它显示 vue command not found

{
  "name": "node_dock_2",
  "version": "1.0.0",
  "description": "node with docker with vue.js",
  "main": "index.js",
  "scripts": {
    "start": "node index.js"
  },
  "keywords": [
    "website",
    "Docker",
    "vue.js",
    "vue/cli"
  ],
  "author": "Viraj",
  "license": "ISC",
  "dependencies": {
    "@vue/cli": "^4.5.15",
    "express": "^4.17.2"
  }
}

这是我尝试安装@vue/cli 时的消息:(npm install @vue/cli)

up to date, audited 943 packages in 12s

68 packages are looking for funding
  run `npm fund` for details

14 vulnerabilities (6 moderate, 8 high)

To address issues that do not require attention, run:
  npm audit fix

Some issues need review, and may require choosing
a different dependency.

Run `npm audit` for details.

这是我的 Dockerfile(Dockerfile、index.js 和 package.json 在同一目录中)。

FROM node
WORKDIR /
COPY . .
RUN npm install
CMD ["node", "/index.js"]

我做错了什么?

【问题讨论】:

  • 一个 Docker 镜像通常包含一个完整的应用程序及其运行时依赖项;为什么要尝试在正在运行的容器中创建新应用程序?我通常也希望像 npm 这样的命令写出文本格式错误,而不是 PNG 文件;您可以编辑问题以包含您遇到的错误文本而不是屏幕截图吗?
  • npm install -g @vue/cli && export PATH=$PATH:/root/.npm-global/bin
  • @DavidMaze 我已经在图片中添加了 vue/cli 包
  • 是的,在容器内部,最终到 Dockerfile
  • 感谢@RakeshGupta,它起作用了,但是export PATH=$PATH:/root/.npm-global/bin 命令有什么作用?如果您可以写一个带有解释的答案,我可以接受该答案

标签: node.js docker vue.js vue-cli docker-container


【解决方案1】:

从错误看来,您的容器没有正确的路径来查找 vue 二进制文件

PATH variable

它本质上是一个 : 分隔的目录列表。当你执行一个 命令,shell 搜索这些目录中的每一个,一个 一,直到找到可执行文件所在的目录

首先使用 -g 选项全局安装 vue/clie

npm install -g @vue/cli

附加到容器的现有 PATH 变量以包含 /root/.npn-global/bin 文件夹。这将允许系统找到 vue 二进制文件

export PATH=$PATH:/root/.npm-global/bin 

您应该相应地更新您的 Dockerfile 以使这些更改永久生效。

【讨论】:

  • 等一下,Dockerfile 应该更新什么?
  • 如果您的容器重新启动,您将丢失您在容器内所做的更改。因此,正确的方法是使用 ENV 在 Dockerfile 中设置它。请参考这个mherman.org/blog/dockerizing-a-vue-app
猜你喜欢
  • 2023-03-15
  • 2019-04-04
  • 2020-02-15
  • 1970-01-01
  • 2021-10-08
  • 2021-08-15
  • 2017-10-01
  • 2017-10-04
  • 1970-01-01
相关资源
最近更新 更多