【发布时间】:2019-02-02 10:11:53
【问题描述】:
在我的部署过程中,我需要在服务器上的文件可用后运行npm run production。
由于我部署到 Docker 容器,我想我需要运行类似的东西:
cd /apps/laradock/ && docker-compose exec -T workspace bash -c "cd /var/www/myapp/ && npm run production"
不幸的是,这会产生错误:
bash: npm: command not found
但 npm 在容器外和容器内都可用!
- 在容器外,
which npm产生/home/serviceUser/.nvm/versions/node/v10.9.0/bin/npm - 如果我通过
cd /apps/laradock/ && docker-compose exec workspace bash进入容器然后运行which npm,它也会安装在那里(并显示/home/laradock/.nvm/versions/node/v10.9.0/bin/npm)。
我做错了什么?
【问题讨论】:
-
我想
npm run production在您已经运行的服务器中添加了依赖项。我认为可以在复制源文件后使用脚本或入口点执行命令来完成此任务。 -
@EddyHernandez 我不太明白你的建议。
-
您的
.bashrc或容器内的类似登录脚本是否设置了npm的路径?
标签: node.js bash docker npm deployment