Charles 在通过符号链接运行时崩溃

Charles 在通过符号链接运行时崩溃

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

它应该可以工作。

相关内容