升级至Composer 0.19.6后Composer Rest Server启动失败求助
解决Composer Rest Server升级后无法启动(找不到base64-js模块)的问题
从你的日志来看,问题出在swagger-client模块找不到base64-js依赖,虽然你已经通过npm安装了这个模块,但全局安装的模块不会被容器内的Composer Rest Server识别——因为Docker容器的Node环境是独立隔离的,和宿主机器的全局npm包不共享。试试下面的步骤:
- 首先进入你的rest容器内部:
docker exec -it rest /bin/bash - 切换到Composer项目的目录(日志里显示路径是
/home/composer):cd /home/composer - 本地安装
base64-js依赖(将它添加到项目的package.json依赖列表中):npm install base64-js --save - 退出容器,重启rest服务:
exit docker restart rest
如果执行完还是报错,可以尝试重新安装所有项目依赖,清理可能的缓存问题:
- 再次进入容器,删除现有的
node_modules目录:docker exec -it rest /bin/bash cd /home/composer rm -rf node_modules - 重新安装所有依赖:
npm install - 退出并重启服务:
exit docker restart rest
这样操作后,容器内的Composer Rest Server就能正确找到base64-js依赖,应该可以正常启动了。
内容的提问来源于stack exchange,提问作者Jamil Ahmed
相关产品推荐
相关产品推荐

