M1使用还是很爽的,特别是定制16g内存后,基本上无以前的卡顿问题了。
但是兼容确实是一个长久的问题
不用折腾的办法
想直接homebrew使用svn,最好能恢复原来的文件,把/usr/local/目录下的homebrew迁移到/opt目录下,这种一劳永逸。
不得不折腾的办法
但是我的丢了,问了朋友也没有,于是开始了折腾记。
直接brew install svn后
在IDEA使用svn,疯狂
Some errors occurred while accessing svn working copy database
而且还不能自动保存账号密码
于是找到了
https://www.v2ex.com/t/729784
后来用着不爽,还是折腾一下
我自己安装的brew 里已经有了apr 和apr-util
wget http://mirrors.ustc.edu.cn/gentoo/distfiles/subversion-1.14.1.tar.bz2
tar xf subversion-1.14.1.tar.bz2
cd subversion-1.14.1
./configure --prefix=/opt/homebrew/Cellar/subversion/1.14.1 --with-apr=/opt/homebrew/opt/apr --with-apr-util=/opt/homebrew/opt/apr-util --with-utf8proc=/opt/homebrew/opt/utf8proc
于是有了第一个错误
configure: error: Subversion requires LZ4 >= r129, or use --with-lz4=internal
修改加上 with-lz4
./configure --prefix=/opt/homebrew/Cellar/subversion/1.14.1 --with-apr=/opt/homebrew/opt/apr --with-apr-util=/opt/homebrew/opt/apr-util --with-utf8proc=/opt/homebrew/opt/utf8proc --with-lz4=internal
于是继续出错
subversion/libsvn_delta/text_delta.c:29:10: fatal error: 'apr_md5.h' file not found
于是自己下载编译
wget http://archive.apache.org/dist/apr/apr-util-1.6.1.tar.bz2
tar xf apr-util-1.6.1.tar.bz2
cd apr-util-1.6.1
./configure --prefix=/usr/local/opt/apr-util-svn --with-apr=/opt/homebrew/opt/apr
make && make install
然后继续之前的,把apr-util目录换掉
./configure --prefix=/opt/homebrew/Cellar/subversion/1.14.1 --with-apr=/opt/homebrew/opt/apr --with-apr-util=/usr/local/opt/apr-util-svn --with-utf8proc=/opt/homebrew/opt/utf8proc --with-lz4=internal
编译成功了,一阵惊喜,使用命令看一看可以用了
svn --version
按楼上说的安装之后,发现还是报错
于是翻到了这个
https://blog.csdn.net/hell_oword/article/details/113182301
查日志的方法找到确实是sqllite的报错
配置后的错误处理 Some errors occurred while accessing svn working copy database
我遇到的问题发生在本地代码更新时,idea 疯狂报错,本地代码的更新会被回退掉
按照以下思路排查:先看下idea的报错日志,如图依次点击
在这里插入图片描述
如果报错和 sqlite 有关,是由于 idea的jar包错误导致,sqlite-jdbc-3.21.0.1 不知持当前系统,需要更换lib目录下的jar包 Contents/lib/sqlite-jdbc-3.21.0.1 > Contents/lib/sqlite-jdbc-3.32.3.3.jar
太慢了,直接用maven下载
下载地址
https://repo1.maven.org/maven2/org/xerial/sqlite-jdbc/3.32.3.3/sqlite-jdbc-3.32.3.3.jar
官方已作出说明
https://youtrack.jetbrains.com/issue/IDEA-257549
maven的太慢
换成aliyun的https://maven.aliyun.com/mvn/search
直接搜索下载
替换jar包后,果然没问题了
发现新问题
自己安装的svn不支持http和https协议的svn地址
svn: E170000: Unrecognized URL scheme for https://ip:port/xxx/trunk/
于是又一顿折腾
了解到1.8之后,使用serf支持
于是,继续折腾
基本上出现的问题
https://blog.csdn.net/yangyouchang/article/details/104675366
大致上如上
scons: Reading SConscript files ...
File "/home/shenyong/serf-1.3.9/SConstruct", line 186
print 'Warning: Used unknown variables:', ', '.join(unknown.keys())
^
SyntaxError: invalid syntax
和
于是就安装serf,
我用的是scons安装
brew install scons
然后安装手动编译安装serf吧
wget https://ftp.tsukuba.wide.ad.jp/software/apache/serf/serf-1.3.9.tar.bz2
tar xf serf-1.3.9.tar.bz2
cd serf-1.3.9
scons PREFIX=/usr/local/opt/serf APR=/opt/homebrew/opt/apr APU=/usr/local/opt/apr-util-svn OPENSSL=/opt/homebrew/opt/openssl
此处说明:一定要指定apr,apu,openssl的路径,因为scons安装不会自动找brew库,另外PREFIX指定到/usr/local需要文件夹权限,我放到了/usr/local/opt下
如果没有openssl就brew install openssl咯
上面用python3编译肯定会报错,要编译通过牵涉到对SConstruct文件的修改
#一个是 169行,需要增加.decode('utf-8'),修改如下
env.File('serf.h').get_contents().decode('utf-8'),
#一个是大概185行附近的,把if和打印注释掉
#if unknown:
# print 'Warning: Used unknown variables:', ', '.join(unknown.keys())
修改完善后
scons PREFIX=/usr/local/opt/serf APR=/opt/homebrew/opt/apr APU=/usr/local/opt/apr-util-svn OPENSSL=/opt/homebrew/opt/openssl
scons install
此处就安装好了serf了
这样就可以愉快的安装svn了
./configure --prefix=/opt/homebrew/Cellar/subversion/1.14.1 --with-apr=/opt/homebrew/opt/apr --with-apr-util=/usr/local/opt/apr-util-svn --with-utf8proc=/opt/homebrew/opt/utf8proc --with-lz4=internal --with-serf=/usr/local/opt/serf
make clean
make && make install
暂时写到这里,如果还有问题,再补充