硬件环境:m2版本macmini,8GB内存
编译版本:i2p2.3.0-0
编译前准备
首先从github上将i2p源码clone下来
https://github.com/i2p/i2p.i2p.git
之后配置java环境
brew install openjdk@11
要注意,这里必须要用jdk11,我尝试过17和20,都编译不通。
然后将jdk加入到环境变量,打开~/.zshrc文件或~/.bashrc文件,在文件的最后添加下面两行
export JAVA_HOME="/opt/homebrew/opt/openjdk@11"
export PATH="/opt/homebrew/opt/openjdk@11/bin:$PATH"
然后执行
source ~/.zshrc
之后下载ant环境
执行命令
brew install ant
开始编译
进入项目源码的目录,执行指令
ant installer-osx
要注意,这条指令是针对osx系统的,如果是其他系统可以执行
ant pkg // win
ant installer-linux //linux
通过一段时间的编译,会在该目录下生成i2pinstall_2.3.0-0_osx-only.jar
文件,执行指令
java -jar i2pinstall_2.3.0-0_osx-only.jar
然后会进入安装的ui界面,如果想在命令行安装也可以执行
java -jar i2pinstall_2.3.0-0_osx-only.jar -console
如果全部选择默认的话,会在/Application
目录中产生一个i2p
目录,里面就是编译之后的文件了。
运行
首先打开i2prouter.sh
文件,将其中ENABLE_ROOT=t
这一行的注释打开,然后执行
sudo sh i2prouter.sh install
经过配置之后,执行
sudo sh i2prouter.sh start
这是可能会报错
The operation couldn’t be completed. Unable to locate a Java Runtime.
Please visit http://www.java.com for information on installing Java.
Starting I2P Service. Detected Mac OSX and installed launchd daemon.
Waiting for I2P Service.........
这时可以执行
sh runplain.sh
然后就会自动开启一个web ui界面,端口号为7657。
至此,I2p项目就从源码编译且运行成功了。