Você pode fazer download e instalar a versão mais recente do SDK de contrato inteligente do pacote DFINITY, chamado dfx
, executando o comando abaixo. Os tópicos aqui fornecem informações adicionais sobre como instalar, atualizar e remover o SDK.
dfx
é suportado nativamente no Linux ou macOS 12.* Monterey ou posterior.
- Instalar no Mac/Linux
Para instalar o dfx
, execute
sh -ci "$(curl -fsSL https://internetcomputer.org/install.sh)"
- Instalar no Windows
Não há suporte nativo para dfx
no Windows. No entanto, ao instalar o Windows Subsystem for Linux (WSL), você também pode executar o dfx
em um sistema Windows conforme descrito abaixo.
Instalando o WSL 2
Siga as instruções da Microsoft para instalar o Windows Subsystem for Linux. Verifique se você está executando o Windows 10 (versão 2004 ou superior) ou o Windows 11.
Versões WSL com suporte
Teoricamente, o WSL 1 e o WSL 2 devem permitir que você execute o dfx
. No entanto, recomendamos o WSL 2. Aqui é possível encontrar uma comparação que explica as diferenças entre o WSL1 e o WSL 2.
Verifique sua versão do WSL
Execute o comando wsl –list –verbose (wsl -l -v)
para verificar as distribuições Linux instaladas em sua máquina Windows. Abaixo está um exemplo de saída.
NAME STATE VERSION
* Ubuntu Running 2
Para saber mais sobre o comando wsl
, verifique a referência de comando para WSL.
Atualizar do WSL 1
Se você tiver o WSL 1 instalado, siga as instruções de atualização para atualizar para o WSL 2. Basicamente, você precisa:
- Instalar o pacote de atualização do kernel Linux do WSL 2.
- Execute o seguinte comando para definir suas distribuições Linux para a versão 2.
wsl --set-version <distribution name> 2
Executando Linux
Depois de instalar o WSL, você pode iniciar as distribuições Linux por nome.
Por exemplo,Ubuntu.exe
é o comando para iniciar a distribuição do Ubuntu
a partir da linha de comando.
Instalando o DFX
Depois de instalar o WSL, você pode instalar o dfx executando
sh -ci "$(curl -fsSL https://internetcomputer.org/install.sh)"
Problemas
Node.js não está instalado corretamente
WSL 2 tem o node.js 10.x.x
instalado por padrão. Mas o dfx
mais recente requer o node.js 16.0.0
ou superior.
Permissão negada ao executar o dfx start
Projetos criados a partir do dfx
precisam estar no sistema de arquivos Linux em vez do sistema de arquivos Windows. Normalmente, cd ~
ou cd $HOME
no terminal WSL o levará ao diretório inicial, e criar projetos lá deve funcionar.
Sem acesso à Internet no WSL
Se você não tiver acesso à Internet no WSL, por exemplo, você não pode executar ping em nenhum servidor com êxito, provavelmente o servidor de nomes no WSL está configurado para um proxy WSL interno. Você pode verificar o arquivo /etc/resolv.conf
para ver se é o caso. Se for verdade, siga as etapas abaixo para definir um servidor de nomes válido:
-
Crie o arquivo
/etc/wsl.conf
e adicione o conteúdo abaixo a ele, isso impedirá que o WSL regenere o arquivo/etc/resolv.conf
após a reinicialização.
[network] generateResolvConf = false
Modifique o servidor de nomes no arquivo
/etc/resolv.conf
para um válido, por exemplo, o servidor de nomes doGoogle 8.8.8.8
.No Windows, reinicie o WSL para que essa correção tenha efeito.
wsl.exe --shutdown
---
O que é instalado
O script de instalação do SDK instala vários componentes em locais padrão em seu computador local. A tabela a seguir descreve os componentes do ambiente de desenvolvimento que o script de instalação instala:
Componente | Descrição | Local padrão |
dfx | interface de execução da linha de comando (CLI) do DFINITY |
/usr/local/bin/dfx
|
moc | Compilador de tempo de execução Motoko |
~/.cache/dfinity/versions/< VERSION>/moc
|
replica | Rede local binária da Internet Computer |
~/.cache/dfinity/versions/<VERSION>/replica
|
uninstall.sh | Script para remover o SDK e todos os seus componentes |
~/.cache/dfinity/uninstall.sh
|
versions | Diretório de cache que contém um subdiretório para cada versão do SDK que você instala. |
~/.cache/dfinity/versions
|
Componentes principais em um diretório com versões
O diretório~/.cache/dfinity/versions
armazena um ou mais subdiretórios com versões do SDK. Cada subdiretório com versões contém todos os diretórios e arquivos necessários para uma versão específica do SDK. Por exemplo, se você listar o conteúdo do diretório~/.cache/dfinity/versions/0.9.3,
verá os seguintes componentes principais:
total 349192
drwxr-xr-x 17 pubs staff 544 Mar 15 11:55 .
drwxr-xr-x 4 pubs staff 128 Mar 25 14:36 ..
drwxr-xr-x 49 pubs staff 1568 Mar 15 11:55 base
drwxr-xr-x 20 pubs staff 640 Mar 15 11:55 bootstrap
-r-x------ 1 pubs staff 66253292 Mar 15 11:55 dfx
-r-x------ 1 pubs staff 10496256 Dec 31 1969 ic-ref
-r-x------ 1 pubs staff 5663644 Dec 31 1969 ic-starter
-r-x------ 1 pubs staff 9604 Dec 31 1969 libcharset.1.0.0.dylib
-r-x------ 1 pubs staff 38220 Dec 31 1969 libffi.7.dylib
-r-x------ 1 pubs staff 668300 Dec 31 1969 libgmp.10.dylib
-r-x------ 1 pubs staff 958248 Dec 31 1969 libiconv.2.4.0.dylib
-r-x------ 1 pubs staff 4200 Dec 31 1969 libiconv.dylib
-r-x------ 1 pubs staff 96900 Dec 31 1969 libz.1.2.11.dylib
-r-x------ 1 pubs staff 15417684 Dec 31 1969 mo-doc
-r-x------ 1 pubs staff 14634020 Dec 31 1969 mo-ide
-r-x------ 1 pubs staff 15111508 Dec 31 1969 moc
-r-x------ 1 pubs staff 49404128 Dec 31 1969 replica
Diretório Motoko
O diretório base
no subdiretório de versões do SDK contém os módulos da biblioteca base Motoko que são compatíveis com essa versão do SDK. Como a biblioteca base do Motoko está evoluindo rapidamente, você deve usar apenas os módulos básicos que são empacotados com a versão do SDK que você instalou.
Diretório de bootstrap
O diretório de bootstrap
contém o código do servidor web que está obsoleto. A partir da versão 0.7.0, os agentes podem chamar um servidor de middleware HTTP em vez do código de bootstrap
. Essa mudança permite que os pacotes respondam a solicitações HTTP diretamente e operem mais como aplicativos tradicionais baseados na web.
Atualizando para a versão mais recente
Se uma nova versão do SDK estiver disponível para download após a instalação inicial, instale a versão atualizada o quanto antes para obter as correções e aprimoramentos mais recentes o mais rápido possível. Você pode usar o comando dfx upgrade
para comparar a versão atualmente instalada com a versão mais recente disponível para download. Se uma versão mais recente do dfx
estiver disponível, o comando dfx upgrade
baixará e instalará automaticamente a versão mais recente.
Observe que você não precisa desinstalar o software antes de instalar a nova versão. No entanto, se você deseja executar uma instalação limpa em vez de uma atualização, primeiro desinstale o software conforme descrito em Removendo o software e execute novamente o comando de download e instalação.
Para obter informações sobre os recursos e correções na versão mais recente, consulte as Notas da versão.
Instalando uma versão específica
O script de instalação procura a variável de ambiente DFX_VERSION
para verificar se deve instalar uma versão específica do SDK ou simplesmente instalar a versão mais recente. Se você deseja instalar, por exemplo, a versão 0.11.1
especificamente, execute isto:
DFX_VERSION=0.11.1 sh -ci "$(curl -sSL https://internetcomputer.org/install.sh)"
Configurando uma versão padrão
Se definido, o dfx
sempre executará a versão especificada no dfx.json
do projeto na chave "dfx
". Por exemplo, se seu dfx.json
contiver "dfx
": "0.11.1
", qualquer comando dfx
executado dentro do diretório deste projeto será executado pelo dfx
da versão 0.11.1
. Caso a versão definida não esteja instalada (por exemplo, porque você clonou um repositório que foi criado para uma versão diferente da que você instalou localmente), o dfx
reportará um erro.
Para definir um global (que é substituído pelas configurações específicas do projeto do dfx.json
do projeto), execute o script de instalação com a versão desejada, mesmo que já esteja instalada.
Removendo o software
Quando você instalar o SDK, o script de instalação coloca os arquivos binários necessários em um diretório local e cria um cache. Você pode remover os binários e o cache do SDK do computador local executando o script uninstall
localizado na pasta .cache
.
Por exemplo:
~/.cache/dfinity/uninstall.sh
Se você estiver desinstalando porque deseja instalar imediatamente uma versão limpa do dfx
, execute o seguinte comando:
~/.cache/dfinity/uninstall.sh && sh -ci "$(curl -sSL https://internetcomputer.org/install.sh)"
Este artigo foi escrito por Severin Siffert e traduzido por Diogo Jorge. O artigo original pode ser encontrado [aqui](https://internetcomputer.org/docs/current/developer-docs/build/install-upgrade-remove/).
Latest comments (0)