Charles 代理现已安装在 中/opt/charles
。运行/opt/charles/bin/charles
成功启动 Charles。现在我想将其添加到我的 PATH。ln -s /opt/charles/bin/charles /usr/local/bin/charles
成功运行并在我的目录中创建一个软链接/usr/local/bin
。但是,当我通过 运行 charles 时,/usr/local/bin/charles
我收到错误消息:
未找到 Charles lib 目录。正在查找 /usr/lib/charles-proxy。
为什么 Charles 直接运行时可以成功启动,但通过符号链接运行时却无法启动?
答案1
发生这种情况是因为您的charles
文件中存在相对路径。
# Find Charles lib directory
if [ -z "$CHARLES_LIB"]; then
CHARLES_LIB=`dirname $0`/../lib # <==HERE..
if [ ! -f "$CHARLES_LIB/charles.jar" ]; then
CHARLES_LIB="/usr/lib/charles-proxy"
fi
fi
将其更改为绝对路径,以便它可以引用它自己的 lib 目录
# Find Charles lib directory
if [ -z "$CHARLES_LIB"]; then
CHARLES_LIB=`dirname $0`/../lib
if [ ! -f "$CHARLES_LIB/charles.jar" ]; then
CHARLES_LIB="/opt/charles/lib" #<== EDIT
fi
fi
它应该可以工作。