前言
这两天准备用Spring Cloud Gateway 搭建网关服务,之前用过Netflix Zuul 两者区别不大,但是Gateway毕竟是要渠道Zuul。在搭建过程中遇到了非常诡异的问题,废话不多数看下面的问题。
启动的时候报dyld: lazy symbol binding failed: Symbol not found: _clock_gettime
具体问题如下:
dyld: lazy symbol binding failed: Symbol not found: _clock_gettime
Referenced from: /private/var/folders/vp/gmrk_xcs4lg5g04rb8b_mptc0000gp/T/libnetty_transport_native_kqueue_x86_648978490352027868074.dylib
Expected in: /usr/lib/libSystem.B.dylib
dyld: Symbol not found: _clock_gettime
Referenced from: /private/var/folders/vp/gmrk_xcs4lg5g04rb8b_mptc0000gp/T/libnetty_transport_native_kqueue_x86_648978490352027868074.dylib
Expected in: /usr/lib/libSystem.B.dylib
POM引用
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-client</artifactId>
<version>4.3.0</version>
</dependency>
问题排查
spring-cloud-starter-gateway本身没有问题,但是引入rocketmq后就会出现这个问题,开始到网上找各种方法。
gitee 上这个项目有小伙伴提到相同的问题,有提出是依赖包的问题。小编排查后依然不能解决。
继续找原因
看到发生该问题是在安装软件和OS系统上才会有这个问题,那是不是要升级一下我的MAC系统?
经过一翻折腾升级macOS系统升级到了最新版本,再尝试了一下就解决了。
总结
其实这个问题如果在公司有小伙伴用的是Windows或者其他操作系统应该很好解决,这次疫情很严重后面要在家办公了。最后祝愿所有的小伙伴及家人朋友能够健健康康、开开心心的度过这次危机。