Jython no Ubuntu 18.04, local de instalação

0

Eu executei o seguinte para instalar o Jython:

sudo apt-get install jython

O que está instalado é a versão 2.7.1:

$ which jython
/usr/bin/jython
$ jython --version
Jython 2.7.1

No entanto, eu me deparei com esse bug (também relatado como este bug ) e queria instalar manualmente o Jython, para tentar uma versão diferente.

O mais recente em Jython.org é o 2.7.0, embora eu também tente 2.5.3 se isso falhar.

eu corri

sudo java -jar jython-installer-2.7.0.jar

E instalado em /usr/local/lib/jython2.7.0/ e symlinked

sudo ln -s /usr/local/lib/jython2.7.0/bin/jython /usr/local/bin/jython

Agora eu tenho:

$ which jython
/usr/local/bin/jython
$ jython --version
Jython 2.7.1

E o mesmo erro. OK, então vamos remover o Ubuntu instalado Jython. Talvez haja uma mistura de biblioteca (ou talvez a versão 2.7.0 IS versão 2.7.1?)

$ sudo apt-get remove jython
$ which jython
/usr/local/bin/jython
$ jython --version
bash: /usr/bin/jython: No such file or directory
$ ll /usr/local/bin/jython
lrwxrwxrwx 1 root root 37 Jul 29 07:44 /usr/local/bin/jython -> /usr/local/lib/jython2.7.0/bin/jython*

E agora estou confuso.

Por que o which jython aponta para /usr/local/bin/ , mas quando tento executar o jython, ele está procurando /usr/bin/ ?

    
por Stewart 29.07.2018 / 09:05

1 resposta

2

Bash caches paths para executáveis. which não sabe sobre esse cache; segue a lógica que você, como usuário final, espera. Eu diria que o problema foi resolvido ao iniciar um novo shell.

O Jython 2.7.0 e o 2.7.1 são versões distintas. Depois que você instalou o 2.7.0, você criou um link simbólico para um local que provavelmente vem após /usr/bin/ no seu PATH *, fazendo com que ele continue a preferir a versão do sistema.

* PATH é uma variável de ambiente que informa ao shell onde procurar e em que ordem, quando você digita um comando. Você pode visualizá-lo, como qualquer variável de ambiente, com echo $PATH .

    
por 14.08.2018 / 22:24