나는 npm
과거 의 행동으로 혼란스러워서 평소보다 더 조심 스럽습니다 .
나는 Mac에 있고를 통해 node.js를 설치했습니다 brew install node
.
이제 jslint.js
명령으로 명령 행 에서 실행하고 싶습니다. jslint
이 작업을 수행하는 정식 방법은 sudo npm install -g jslint
이 출력에서 성공적으로 실행 된 것입니다.
$ 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)
그후
$ jslint ply.js
zsh: command not found: jslint
때문에이하는 /usr/local/share/npm/bin
내에있는 없습니다 $PATH
.
1) brew
전역 npm
bin
경로를 설치 하지 않은 이유는 무엇 입니까? 어쩌면 그럴 수도 있지만 무언가 zsh
가 엉망입니다. 어디서 찾을 수 있을까요?
2) 내가해야합니까? ( 내 바닥에 내 :/usr/local/share/npm/bin
보낸 부분 $PATH
에 추가 ~/.zshrc
)
나중에 다른 것을 설치하면 (Homebrew 또는 다른 것을 사용하여) 경로를 설정하기 위해 zsh 시작 스크립트에 추가해야하기 때문에 이것이 올바른 방법이 아닌 것 같습니다. 이 특별한 경우에는 npm install -g
"적절한"위치에서 올바른 심볼릭 링크를 만들지 않는 것의 문제 일뿐 /usr/local/bin
입니다.
내가 할 일은 /usr/local/bin
문제가있는 모든 프로그램에 대한 심볼릭 링크를 수동으로 작성하는 것이며 내 목적에 충분해야한다고 생각합니다.
편집 : 나는이 오래된 질문이 대중적이지만 지금은 내 개인 워크 플로우와 노드 설치 및 다양한 종속성 관리에 대한 최선의 방법 측면에서 구식이기 때문에 2019 년에 이것을 업데이트하고 있습니다.
내 개인 워크 플로는 이제 nodejs.org에서 얻은 설치 프로그램을 사용하여 시스템에 노드를 설치합니다. 필자는 실제로 파일을 관리하는 방법을 가장 잘 알고 있기 때문에 homebrew 패키지 자체보다 이것을 신뢰합니다. Mac 또는 Windows에서 시스템 노드를 8.10에서 10.15로 변경하려면 OS 용 10.15의 nodejs.org에서 설치 프로그램을 다운로드하십시오. homebrew를 통해 설치된 노드를 업그레이드하려고 시도하는 것은 항상 내 경험상 더 어려운 접근법으로 입증되었습니다.
또한, 가장 큰 지적은 위의 jslint 예제의 npm 설치에 표시된 것처럼 sudo를 사용하지 않는 것이 좋습니다. 수퍼 유저를 사용하여 홈 브루 크 패키지를 설치하거나 상호 작용해서는 안된다는 것이 확실합니다. 필요하지 않아야하며 파일 권한 두통으로 이어질 것입니다!
또한 jslint보다 ESLint를 권장하며 몇 년 동안 jslint를 사용하지 않았습니다.