NPM- Gerencia pacotes, mas não facilita a execução de nenhum.
NPX- Uma ferramenta para executar pacotes de nós.
NPXvem junto com a NPMversão5.2+
NPMpor si só não executa simplesmente nenhum pacote. Na verdade, ele não executa nenhum pacote. Se você deseja executar um pacote usando o NPM, deve especificar esse pacote no seu package.jsonarquivo.
Quando os executáveis são instalados via pacotes NPM, o NPM se vincula a eles:
- instalações locais têm "links" criados no
./node_modules/.bin/diretório
- instalações globais têm "links" criados a partir do
bin/diretório global (por exemplo /usr/local/bin) no Linux ou no %AppData%/npmWindows.
Documentação que você deve ler
NPM:
Pode-se instalar um pacote localmente em um determinado projeto:
npm install some-package
Agora, digamos que você queira que o NodeJS execute esse pacote na linha de comando:
$ some-package
O acima irá falhar . Somente pacotes instalados globalmente podem ser executados digitando apenas seu nome .
Para corrigir isso e executá-lo, você deve digitar o caminho local:
$ ./node_modules/.bin/some-package
Tecnicamente, você pode executar um pacote instalado localmente editando seu packages.jsonarquivo e adicionando esse pacote na scriptsseção:
{
"name": "whatever",
"version": "1.0.0",
"scripts": {
"some-package": "some-package"
}
}
Em seguida, execute o script usando npm run-script(ou npm run):
npm run some-package
NPX:
npxirá verificar se <command>existe $PATHou nos binários locais do projeto e executá-lo. Portanto, para o exemplo acima, se você deseja executar o pacote instalado localmente, some-packagebasta digitar:
npx some-package
Outra grande vantagem npxé a capacidade de executar um pacote que não foi instalado anteriormente:
$ npx create-react-app my-app
O exemplo acima gerará um reactclichê de aplicativo no caminho em que o comando foi executado e garante que você sempre use a versão mais recente de um gerador ou ferramenta de compilação sem precisar atualizar sempre que estiver prestes a usá-lo.
Perguntas relacionadas:
- Como usar o pacote instalado localmente em node_modules?
- NPM: como origem da pasta ./node_modules/.bin?
- Como você executa um arquivo js usando scripts npm?
create-react-appé um gerador.npxvai para a internet , baixando o pacote temporariamente para que ele possa ser executado ( np x ). O que você obtém (e deseja) é a saída, que é salva localmente, onde você executou o comando.