Mac 开发环境搭建

发布于 2024-01-22 10:31:21 字数 5189 浏览 30 评论 0

Mac 下安装 brew、Redis、zookeeper 过程中踩过的坑。

Mac serria 偏好设置找到 打开任意来源 命令

$ sudo spctl --master-disable

重建 MAC 的右键打开方式列表
Mac 上选中一个文件点击右键会有一个“Open With”菜单,如果你装过多个虚拟机等,这个菜单会出现很多 windows 系统的程序,从而使这个菜单十分混乱,可以使用以下命令行来清除所有的重复项。

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain user;killall Finder;echo “Open With has been rebuilt, Finder will relaunch“

安装 brew

/usr/bin/ruby -e "$(curl -fsSL  https://raw.githubusercontent.com/Homebrew/install/master/install \"

安装下载工具

brew install wget

安装 Redis

$ wget  http://download.redis.io/releases/redis-3.0.7.tar.gz 
$ tar xzf redis-3.0.7.tar.gz
$ cd redis-3.0.7
$ make

启动 redis

$ src/redis-server redis.conf

连接上以后,关闭 redis

$ src/redis-cli
$ 127.0.0.1:6379> SHUTDOWN

测试 redis

$ src/redis-cli
redis> set foo bar
OK
redis> get foo
"bar"

# Mac OS 命令行下使用 SublimeText 打开文本文件

打开用户配置文件

vim ~/.bash_profile

添加如下 alias

alias subl="'/Applications/Sublime Text.app/Contents/SharedSupport/bin/subl'"
alias ll='ls -al'

如果不添加别名,也可以选择将路径添加到环境变量下。这里的路径根据实际情况可能会有所不同。

wq 保存后回到命令行执行以下命令使其生效:

source ~/.bash_profile

命令行使用,这里我们假设在命令行用 SublimeText 打开.bash_profile,则执行如下:

subl ~/.bash_profile

安装 zookeeper

$brew install zookeeper

启动服务

$ sudo zkServer start
ZooKeeper JMX enabled by default
Using config: /usr/local/etc/zookeeper/zoo.cfg
Starting zookeeper ... STARTED

在 MAC 下需要用 sudo 命令来启动此服务,否则会失败。

查看 zookeeper 运行及状态

$ zkServer status
ZooKeeper JMX enabled by default
Using config: /usr/local/etc/zookeeper/zoo.cfg
Mode: standalone
$zkCli
Connecting to localhost:2181

停止服务

$ zkServer stop
ZooKeeper JMX enabled by default
Using config: /usr/local/etc/zookeeper/zoo.cfg
Stopping zookeeper ... STOPPED

安装邮件服务 James server

$ subl ~/.bash_profile
export JAMES_SRC_HOME=/usr/local/james-project/james-project

安装 maven, 参考教程

$ brew install maven

默认安装位置是

$ /usr/local/Cellar/maven/3.3.9

Fix problems

maven 报错:

Could not calculate build plan: Plugin org.apache.maven.plugins:maven-resources-plugin:2.6 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-resources-plugin:jar:2.6

解决方法:

  1. 查看 windows -> Preferences -> maven 的 settings.xml 文件中.m2 的位置
  2. 然后将.m2/repository/org/apache/maven/plugins 目录下的文件夹全部删除
  3. 选中 maven 项目,右键 --> maven --> update,让 maven 重新下载依赖包

注:此 IDE 自带 maven 插件,不需要再自己下载安装 maven 插件

mac 下,dubbo 注册 zookeeper,ip 地址是一个虚拟的地址,并不是局域网的本机 ip

在搭建 zookeeper 的过程中,使用 dubbo 获取的地址总是 220.250.64.26,通过 jdk 代码调用来看,确实是这样:

InetAddress ia=null;
try {
ia=ia.getLocalHost();

String localname=ia.getHostName();
String localip=ia.getHostAddress();
System.out.println("本机名称是:"+ localname);
System.out.println("本机的 ip 是 :"+localip);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

cosole 输出:

本机名称是:bogon
本机的 ip 是 :220.250.64.26

220.250.64.26 是虚拟的地址,导致项目在 tomcat 下无法正常运行。
在 mac 终端可以看到,本机 hostname 是 bogon,于是我们重设 hostname,命令如下:

$ sudo scutil --set HostName bianxh
$ sudo scutil --set LocalHostName bianxh

然后修改 hosts 文件,

bogon:redis-3.0.7 bianxh$ subl /etc/hosts

在末位新增两行:

127.0.0.1 bianxh
::1 bianxh

重新运行上面的 java 代码,可以看到 ip 地址正常了:

本机名称是:bianxh
本机的 ip 是 :127.0.0.1

接下来,通过 dubbo 注册 zookeeper,可以看到 console 输出的注册地址就正常了,变为局域网内的本机地址。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

关于作者

彼岸花似海

暂无简介

0 文章
0 评论
23 人气
更多

推荐作者

ambitionlv

文章 0 评论 0

澉约

文章 0 评论 0

hukaixi

文章 0 评论 0

自演自醉

文章 0 评论 0

詹宝成

文章 0 评论 0

alipaysp_PLnULTzf66

文章 0 评论 0

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文