Charles quebra quando é executado através de um symlink

1

O proxy Charles está instalado agora em /opt/charles . Executar /opt/charles/bin/charles inicia Charles com êxito. Agora quero adicioná-lo ao meu PATH. ln -s /opt/charles/bin/charles /usr/local/bin/charles é executado com sucesso e cria um link flexível no meu diretório /usr/local/bin . No entanto, quando eu executo charles via /usr/local/bin/charles , recebo a mensagem de erro:

Charles lib directory not found. Looking in /usr/lib/charles-proxy.

Por que o Charles é iniciado com sucesso quando executado diretamente, mas não quando executado pelo symlink?

    
por Jamie 10.09.2014 / 07:05

1 resposta

2

Isso está acontecendo devido à presença de caminho relativo no arquivo 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

Mude-o para o caminho absoluto para que ele possa se referir ao seu próprio diretório 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

Deve funcionar.

    
por g_p 10.09.2014 / 08:04