【发布时间】: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