Após o npm install -g, o comando ainda não foi encontrado?

1

Eu não sei o que está acontecendo, mas nenhum dos meus pacotes de nós instalados está realmente registrado.

npm e node funcionam bem, mas se eu sudo npm install -g ffmpeg ou brew , eles estão listados em /usr/local/lib/node_modules mas brew -v e ffmpeg -v não fazem nada "comando não encontrado "

Any help is much appreciated, I'm pretty new with command line stuff. I think I'm confused on the difference between npm and brew... Does npm symlink to the command line, or only allow require("brew") within node instances?

Uma vez, eu segui algumas instruções para registrar "sublime" como um alias de linha de comando. Não pense que isso deve afetar qualquer coisa, mas eu nem sei onde procurar

    
por neaumusic 28.05.2016 / 07:30

2 respostas

0

O problema é que npm apenas instala módulos de nó, que precisam ser necessários em um tempo de execução do Node.js ou executados como um parâmetro para node .

Homebrew brew e Advanced Package Tool (Linux) apt-get são gerenciadores de pacotes no nível do sistema, agnósticos do Node.js, que tendem a colocar scripts de shell executáveis no local adequado, onde o shell procura candidatos, semelhante para a cadeia de protótipos do JavaScript ( echo $PATH normalmente mostrará /usr/local/bin ou /usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin )

Você pode iniciar um nó REPL executando node na linha de comando (e você pode subsequentemente escrever JavaScript para exigir o pacote). Uma alternativa é escrever um arquivo script.js que utiliza o pacote e, em seguida, executar o script com node script.js ou, às vezes, node node_modules/package_name/bin/node_executable_file

    
por 12.08.2018 / 20:13
1

Existe alguma coisa exibida se você executar npm get prefix ? (Por exemplo, vou dizer "/ usr / local" é retornado depois de executar o comando)

Se algo for retornado após a execução do comando acima, verifique qual é a variável de ambiente PATH configurada executando echo $PATH (Novamente, por exemplo, eu direi "/ usr / bin: / bin: / usr / sbin : / sbin "é retornado após executar este comando)

Se o prefixo retornado de npm get prefix for não mostrado em seu PATH - o que é verdadeiro para o exemplo acima, já que "/ usr / local /" não está no PATH - você terá que defina sua variável PATH. Para definir seu caminho:

Se o seu shell for Bash, execute: export PATH="[prefix]/bin:$PATH" >> ~/.bash_profile em que [prefix] é o valor retornado de npm get prefix

Então, usando "/ usr / local" novamente como exemplo, substitua "[prefix]" por "/ usr / local", como mostrado abaixo - export PATH="/usr/local/bin:$PATH" >> ~/.bash_profile
faça então source ~/.bash_profile

(Você disse que é muito novo em assuntos de linha de comando, então se isso não faz muito sentido, deixe um comentário e eu tentarei fornecer mais esclarecimentos)

    
por 28.05.2016 / 09:52