Quando você instala pacotes de nós, geralmente precisa executá-los. Tudo bem se você instalá-los globalmente e tiver o diretório de pacote global em seu PATH:
$ npm install -g karma
Agora você pode correr
$ karma init my.conf.js
Mas se você deseja apenas instalar um pacote localmente, ele não estará acessível em seu PATH.
Muitos pacotes contornam isso fornecendo um pacote -cli; karma-cli por exemplo. No entanto, isso é um pouco chato, instalar um pacote e depois ter que instalar seu pacote -cli. Isso se tiver um pacote -cli.
No entanto, existe uma solução útil (embora um pouco hackeada) que encontrei neste artigo .
Escreva um pequeno script de shell. Isso é meu:
#!/bin/bash
bin=$1
shift
./node_modules/.bin/$bin $@
Ele pega o comando que você deseja executar com seus parâmetros e o executa a partir do diretório node_modules / .bin no diretório do projeto a partir do qual você está trabalhando.
Salve-o como “npm_exec” e torne-o executável:
$ chmod +x npm_exec
Mova-o para / usr / local / bin ou outro diretório que esteja em seu PATH:
$ mv npm_exec /usr/local/bin
Agora você pode executar pacotes de nós instalados localmente a partir do diretório do seu projeto, como este:
$ npm_exec karma init my.conf.js