Questão nº 60

Questão de Tecnologia da Informação · FGV TRF1 2024 (nº 60)

FGV2024Técnico Judiciário - Desenvolvimento de SistemasTecnologia da Informação
Gabarito: Aver comentário ↓

O analista Cléber está implementando um script para
automatizar o build de uma aplicação apoiada pelo npm. Para se
certificar de que, a cada novo build, o npm reinstalará todas as
dependências da aplicação sem alterar o arquivo package.json,
Cléber empregou no script de automação o recurso de instalação
limpa do npm.
Para solicitar ao npm uma instalação limpa do projeto, Cléber
utilizou no script o comando npm:

Resposta comentada

Gabarito Alternativa A

Uma "instalação limpa" no npm significa instalar as dependências de um projeto exatamente como elas foram definidas no arquivo `package-lock.json` (ou `npm-shrinkwrap.json`), garantindo que a mesma versão das dependências seja usada em todos os ambientes (desenvolvimento, teste, produção). Isso é crucial para a integração contínua (CI) e não altera o arquivo `package.json`.

(A) Correta: O comando `npm ci` (de "clean install" ou "continuous integration") é projetado para instalações limpas, removendo `node_modules` e instalando as dependências estritamente baseadas no `package-lock.json` (ou `npm-shrinkwrap.json`), sem modificar o `package.json`.
(B) Incorreta: `npm dedupe` serve para otimizar a árvore de dependências, identificando e movendo dependências comuns para um nível superior, reduzindo o tamanho total e a complexidade, mas não realiza uma instalação limpa do zero.
(C) Incorreta: `npm shrinkwrap` cria um arquivo `npm-shrinkwrap.json` que "trava" as versões das dependências, similar ao `package-lock.json`, mas não é um comando para realizar uma instalação limpa; ele cria o arquivo que permite instalações consistentes.
(D) Incorreta: Não existe um flag `--clear` para o comando `npm install` com a finalidade de realizar uma instalação limpa. Esta é a armadilha da banca, pois a palavra "clear" sugere limpeza, mas não é um comando válido ou funcional para o propósito descrito.
(E) Incorreta: Assim como `--clear`, `--erase` não é um flag válido para o comando `npm install` com a finalidade de realizar uma instalação limpa.

Fonte: FGV TRF1 2024 Técnico Judiciário - Desenvolvimento de Sistemas (Caderno Tipo 1). Reproduzida para fins de estudo.

Continue estudando

Estudar é izi

Pratique milhares de questões como esta, de graça, com explicação e gamificação no Quizinho.

Estudar de graça no Quizinho