Mac

macbook在docker中运行hyperf代码无法同步问题解决

Posted by epimetheusQ on 2021-10-07

Mac在docker中运行hyperf代码无法同步问题解决

更换电脑,安装docker后,可以正常启动hyperf项目,但是一旦更新hyperf代码,docker容器内的代码却没有更新。

通过查阅资料和多次尝试发现,是由于本地修改代码后,docker内部无法时时更新,进入容器,针对该项目执行:

1
2
3
4
5
6
# 1. 进入docker容器中
docker exec -it 539803d55274 /bin/bash
# 2. 进入项目目录外,我的项目路径是 /data/project/purchase,项目外的路径是 /data/project
cd /data/project
# 3. 为该目录赋值权限
chmod -R 777 purchase/

该代码就会同步到docker中,该方法只是临时解决方法,后期会考虑如何优化。

遗留问题解决

docker 中hyperf执行生成命令 php bin/hyperf.php gen:command XXXCommand,报错:

1
There are no commands defined in the "replaceDeliverySn" namespace. 

通过查询和尝试,发现还是缓存的问题,此时可以通过:

1
php bin/hyperf.php 

查看是否有该可以执行的命令,如果没有:

1
2
3
4
# 重新生成缓存命令,新缓存会覆盖原目录
vendor/bin/init-proxy.sh
# 赋权限
chmod -R 777 purchase

即可解决。