Alternativa C - npm install expo-cli
Introdução
Para entender a resposta, precisamos analisar como o NPM (Node Package Manager) funciona na gestão de dependências de projetos, especificamente no desenvolvimento com React Native.
A questão destaca a distinção fundamental entre dois modos de instalação:
- Local: O pacote fica restrito ao seu projeto atual.
- Global: O pacote fica disponível para todo o sistema operacional.
Desenvolvimento
O comando padrão do NPM para baixar e instalar pacotes é npm install. Quando executamos esse comando sem nenhuma flag adicional (como -g), ele realiza uma instalação local.
Isso significa que:
- O pacote é baixado para a pasta
node_modules dentro do seu projeto. - Ele é registrado no arquivo
package.json como uma dependência. - Garante que outros desenvolvedores que clonarem seu código tenham acesso às mesmas ferramentas.
Comandos Comparativos
| Tipo de Instalação | Comando Típico | Onde fica instalado? |
|---|
| Local | npm install nome-do-pacote | Pasta node_modules do projeto |
| Global | npm install -g nome-do-pacote | Diretórios globais do sistema |
No caso específico da questão, para instalar o Expo CLI localmente, basta utilizar a sintaxe básica do instalador.
Análise das Alternativas
- (A)
install expo-cli: Incorreto. Falta o prefixo npm, que identifica qual gerenciador de pacotes deve ser usado. - (B)
local install expo-cli: Incorreto. Não existe essa sintaxe no NPM. A palavra "local" não é um parâmetro válido nessa posição. - (C)
npm install expo-cli: Correto. Esta é a sintaxe padrão para instalação local. Como o NPM assume a instalação local como comportamento padrão, não é necessário adicionar a palavra "local". - (D)
npm install expo-cli local: Incorreto. O argumento local sobrecarregaria o nome do pacote ou causaria erro de sintaxe, pois o NPM espera apenas o nome do pacote após o comando install. - (E)
npx init expo-cli: Incorreto. O npx é usado para executar binários temporariamente, e init geralmente se refere a inicializar configurações, não à instalação de pacotes como dependência do projeto.
Conclusão
A alternativa correta é a C, pois reflete a sintaxe oficial e padrão do NPM para adicionar pacotes diretamente nas dependências do seu projeto de React Native.