Instalando o Pharo localmente

Aprenda a instalar o Pharo localmente para resolver os exercícios do Exercism na sua própria máquina


Instalação

A forma mais simples de instalar o Pharo é usar um download zero conf a partir da linha de comando de um terminal.
Observação: se você está tentando atualizar uma instalação existente, veja as instruções de atualização.

Usuários de Windows que não têm um shell no estilo UNIX instalado devem pular para as instruções de Instalação no Windows (abaixo).
Usuários de Linux mais avançados podem querer consultar a Instalação para Hackers de Linux.

Instalação no Linux/OSX

Para Linux/OSX (supondo que você já tenha instalado o Exercism e entrado na trilha Pharo), navegue até o seu diretório /Exercism/pharo-smalltalk e digite:

curl https://get.pharo.org/64/ | bash

e inicie o Pharo com as ferramentas do Exercism colando o seguinte "load script":

./pharo-ui Pharo.image eval "
Iceberg remoteTypeSelector: #httpsUrl.
Metacello new
 baseline: 'Exercism';
 repository: 'github://exercism/pharo-smalltalk:main/releases/latest';
 load.
#ExercismManager asClass welcome.
"

Se você tiver problemas de TIMEOUT ao carregar as ferramentas, saia do Pharo e limpe o cache do git digitando:

rm -rf pharo-local/iceberg/

E depois repita o exemplo ./pharo-ui ... acima.

Se os problemas continuarem, visite o canal do Discord do Pharo descrito na página da Comunidade Pharo.

Se tudo estiver funcionando corretamente, você verá barras de progresso de carregamento piscando pela tela e, em seguida, aparecerá uma janela do System Browser.

DICA: Quando você sair do Pharo, salve suas alterações (escolha o menu do Pharo e selecione "Save and Quit"). Agora você pode iniciar o Pharo com o Exercism já carregado, bastando digitar:

./pharo-ui Pharo.image

Instalação no Windows (pule esta seção no OSX/Linux)

Ainda estamos definindo os melhores pré-requisitos de ferramentas de linha de comando para o Windows, mas você também pode instalar o Pharo graficamente usando o Windows Pharo Launcher (uma ferramenta prática para gerenciar várias imagens do Pharo). Esse launcher também está disponível para OSX e Linux, se você preferir uma interface gráfica.

  1. Execute o arquivo .msi baixado para instalar o Pharo Launcher.

  2. Execute o Pharo Launcher.

  3. No canto superior esquerdo, clique em "New".

  4. Na janela, selecione "Official distributions" nas categorias de template.

  5. Para os exercícios do Exercism, escolha na lista de templates de imagem do Pharo a versão estável mais recente (atualmente "Pharo 10.0 64-bit (stable)", conforme recomendado).

  6. Clique para destacar um template de imagem, dê um nome a ele e clique no botão de criar imagem na parte inferior (um ícone laranja de engrenagem).
    Create image from launcher

  7. Assim que o template for baixado, ele aparecerá à direita na tabela Existing Images. Clique nele e depois clique no botão de iniciar no topo (uma seta verde de play).
    Launch image

  8. Assim que a imagem do Pharo iniciar, abra um Playground escolhendo o menu Browse e selecionando Playground, ou use ctrl + o + w.
    Open playground

  9. Por fim, copie e cole o trecho a seguir no playground:

Iceberg remoteTypeSelector: #httpsUrl.
Metacello new
 baseline: 'Exercism';
 repository: 'github://exercism/pharo-smalltalk:main/releases/latest';
 load.
#ExercismManager asClass welcome.

Depois, avalie o código colado destacando todo ele, clicando com o botão direito e selecionando Do it no menu (ou use ctrl + d).

Se tudo estiver funcionando corretamente, você verá barras de progresso de carregamento piscando pela tela e, em seguida, aparecerá uma janela do System Browser.

Primeiros passos (TODOS)

Quando você iniciar o Pharo, verá um projeto de boas-vindas em um System Browser (dica: se você perder essa janela, pode abrir uma nova pelo menu Tools|System Browser).

Pharo Welcome Screen

O painel superior esquerdo do System Browser mostra os pacotes do seu ambiente, e você vai notar que o script de instalação já configurou um pacote chamado Exercism, que contém uma tag de subprojeto chamada Welcome. O segundo painel mostra as classes, e também há uma classe chamada Welcome. Abaixo do painel de classes há 4 botões de opção: "Flat" (mostra as classes do pacote), "Hier." (mostra uma hierarquia de classes), "Inst. side" (mostra os métodos de instância), "Class side" (mostra os métodos de classe/construtores).

Se você clicar na aba Comment, poderá ver as instruções mais recentes para usar o Pharo Exercism. Leia os comentários e experimente rodar seu primeiro teste.

Em outras linguagens baseadas em arquivos, você normalmente iria até um terminal nesse momento e usaria a CLI do exercism para buscar o próximo exercício. Embora o Pharo possa trabalhar com arquivos de forma parecida, o ambiente é, na verdade, ajustado para trabalhar com objetos vivos. Classes, métodos e código-fonte são, curiosamente, todos objetos como tudo o mais no Pharo. Você vai aprender mais sobre isso ao longo desta trilha.

Carregando exercícios

Para o Exercism, incluímos um plugin que permite buscar e enviar exercícios de Pharo de dentro da IDE. Tudo o que você precisa fazer é clicar com o botão direito em um pacote de exercício (neste caso, o pacote Welcome no painel superior esquerdo) e selecionar o item de menu Exercism | Fetch Exercise. Isso vai pedir um nome de exercício (por exemplo, hello-world) e, quando você digitá-lo, o exercício será buscado automaticamente para você.

Os nomes dos exercícios podem ser encontrados na descrição de cada exercício na sua página da trilha Pharo (bem à direita). Há uma instrução de Download com uma string de CLI que contém a chave de cada exercício. Você também pode usar o botão de copiar ao lado das instruções de CLI e colar a string inteira no prompt de busca (e nós vamos extrair a chave automaticamente).

Quando você informar um exercício válido, o plugin vai buscar o código relevante e exibi-lo no System Browser, pronto para você começar a programar com testes.

Quando todos os seus testes estiverem passando, você pode enviar sua solução usando o mesmo menu de contexto do pacote do exercício (clique com o botão direito na tag do pacote e selecione Exercism | Submit Exercise...)

Exercism Submit Menu

Por fim, use o menu Exercism | View Track Progress para visitar o site do exercism e ver quais outros exercícios foram desbloqueados para você, além de postar perguntas sobre o seu envio para que os mentores as leiam.


Você sabia: Quando você inicia o Pharo, na verdade está restaurando um snapshot de imagem em execução, parecido com uma imagem de sistema operacional do VMWare. Esse é um conceito poderoso que permite suspender o trabalho no meio de uma operação, possivelmente até durante a depuração de algo. Quando você iniciar o Pharo de novo, poderá continuar percorrendo o código no depurador restaurado ou possivelmente continuar uma etapa de refatoração.

Como redefinir seu token da CLI

Se você precisar redefinir seu token da CLI por algum problema de segurança, visite sua página de configurações do Exercism e use o botão de redefinir token. Depois de fazer isso, você precisa limpar seu token antigo no Pharo Exercism avaliando o seguinte código em um Playground:

ExercismHttpClient
    reset;
    promptForToken.

Como atualizar o Pharo Exercism

De tempos em tempos, podemos precisar que você atualize as bibliotecas da sua imagem do Pharo Exercism. Siga estas instruções