Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

comandos npm [dúvida]

Olá! queria saber a diferença entre: npm install, npm install -g, npm init {inicializador}.

Pois quando eu uso o npm install {package}, são criados alguns arquivos no meu diretório atual e um deles é o package.json. Então por qual motivo eu preciso do npm init? pois com o npm install, além de instalar o pacote desejado, o package.json é criado automaticamente. Já quando eu faço o npm install -g, esses arquivos não são criados, por qual motivo eles não são criados?

Outra coisa também, quando eu uso o json-server, não preciso criar o package.json para utilizar ele em determinado arquivo. Por qual motivo o json-server eu não preciso, mas o ESLint precisa?

1 resposta
solução!

Oii Rian. Tudo bem?

  1. npm install: É usado pra instalar um pacote específico localmente no seu projeto. Ele cria um diretório node_modules (se ainda não existir) e instala o pacote lá. E, ele adiciona uma entrada no arquivo package.json sob a seção dependencies, indicando que seu projeto depende desse pacote. Se o arquivo package.json não existir, ele será criado.

  2. npm install -g: É semelhante ao anterior, só que ele instala o pacote globalmente, ou seja, ele fica disponível para todos os projetos em seu sistema, e não apenas para o projeto atual. Por isso, ele não cria um diretório node_modules no seu projeto atual nem adiciona nada ao arquivo package.json.

  3. npm init: É usado para configurar um novo pacote ou projeto. Ele cria um arquivo package.json com alguns campos básicos preenchidos. O {inicializador} é opcional e pode ser usado para especificar um inicializador de aplicativo, como create-react-app, para configurar seu projeto de uma maneira específica.

Agora, sobre a segunda parte:

  • Por que npm install cria um package.json e por que você precisa do npm init? Embora npm install {package} crie um package.json se ele não existir, o objetivo principal desse comando não é criar ou configurar seu projeto, mas apenas instalar um pacote. Já o npm init é especificamente projetado para configurar seu projeto. Entãodigamos que é uma boa prática começar um novo projeto com npm init.

  • Por que você não precisa criar um package.json para usar o json-server, mas precisa para o ESLint? Isso provavelmente se deve ao fato de que o json-server é uma ferramenta de linha de comando que você instala globalmente e usa independentemente do projeto em que está trabalhando. Então, não precisa ser listado como uma dependência no package.json do seu projeto. Por outro lado, o ESLint é uma ferramenta de desenvolvimento que você usa dentro de um projeto específico, e é uma boa prática listá-lo como uma dependência de desenvolvimento em seu package.json, para que outros desenvolvedores saibam que eles precisam instalá-lo para trabalhar em seu projeto.

Espero ter ajudado. Um abraço.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software