Estou sendo mais cauteloso do que o habitual, porque fiquei confuso com o comportamento do npm
passado.
Estou em um Mac e instalei o node.js completamente brew install node
.
Agora que eu quero executar jslint.js
na linha de comando como o comando jslint
, acho que a maneira canônica de fazer isso é sudo npm install -g jslint
executada com êxito com esta saída:
$ sudo npm install -g jslint
npm http GET https://registry.npmjs.org/jslint
npm http 200 https://registry.npmjs.org/jslint
npm http GET https://registry.npmjs.org/jslint/-/jslint-0.1.9.tgz
npm http 200 https://registry.npmjs.org/jslint/-/jslint-0.1.9.tgz
npm http GET https://registry.npmjs.org/nopt
npm http 200 https://registry.npmjs.org/nopt
npm http GET https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz
npm http 200 https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz
npm http GET https://registry.npmjs.org/abbrev
npm http 200 https://registry.npmjs.org/abbrev
npm http GET https://registry.npmjs.org/abbrev/-/abbrev-l.0.4.tgz
npm http 200 https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz
/usr/local/share/npm/bin/jslint -> /usr/local/share/npm/lib/node_modules/jslint/
bin/jslint.js
jslint@0.1.9 /usr/local/share/npm/lib/node_modules/jslint
└── nopt@1.0.10 (abbrev@1.0.4)
Subseqüentemente
$ jslint ply.js
zsh: command not found: jslint
devido a /usr/local/share/npm/bin
não estar no meu $PATH
.
1) Por que brew
não instalou o npm
bin
caminho global para o caminho? Talvez tenha acontecido, mas algo zsh
está estragando tudo. Onde eu posso encontrar isso?
2) Devo fazer isso? (Anexe :/usr/local/share/npm/bin
ao exportado $PATH
na parte inferior do meu ~/.zshrc
)
Parece que este não é o caminho certo para fazê-lo, porque se eu instalar algo mais tarde (usando o Homebrew ou algo assim), precisarei anexá-lo ao meu script de inicialização zsh para definir o caminho. Eu acho que, neste caso específico, é apenas uma questão de npm install -g
não criar os links simbólicos corretos em um local "adequado" (como /usr/local/bin
talvez).
Acho que o que farei é criar manualmente links simbólicos /usr/local/bin
para todos os programas com problemas e deve ser bom o suficiente para meus propósitos.
EDIT : Estou atualizando isso em 2019, porque essa pergunta antiga é popular, mas agora desatualizada em termos de fluxo de trabalho pessoal e também em termos de como melhor proceder para instalar o nó e gerenciar suas várias dependências.
Meu fluxo de trabalho pessoal agora é usar o instalador obtido no nodejs.org para instalar o nó nos sistemas. Na verdade, confio nisso mais do que o próprio pacote homebrew, porque ele sabe como gerenciar os arquivos. Se você deseja alterar o nó do sistema de 8.10 para 10.15, seja no Mac ou no Windows, basta baixar o instalador do nodejs.org para 10.15 para o seu sistema operacional. Tentar atualizar o nó instalado via homebrew sempre provou ser uma abordagem mais difícil na minha experiência.
Além disso, a principal coisa a destacar é que o uso do sudo, como mostrado no meu exemplo de instalação do jslint do npm, é altamente desencorajado; Estou bastante certo de que os pacotes homebrew nunca devem ser instalados ou interagidos com o superusuário. Não deve ser necessário e levará a dores de cabeça com permissão de arquivo!
Além disso, eu recomendo o ESLint sobre o jslint e não o utilizo há anos.