여러 환경에서 작동하는 node.js 용 스크립트를 만들려고합니다. 특히 나를 위해, 나는 OS X와 우분투 사이에서 앞뒤로 전환하고있다. 전자의 경우 노드는 node
으로 설치되지만 후자의 경우 nodejs
으로 설치됩니다. 내 스크립트의 상단에, 내가 가질 수Node.js 스크립트에 적합한 hashbang
#!/usr/bin/env node
또는
을#!/usr/bin/env nodejs
노드가 아닌 설치되어 차라리 스크립트가 한 중 환경에 대한 실행 파일로 실행 한 것
이 하나가 또는 다른 사람은 명령을 지정해야합니다 (./script-name.js
대 node script-name.js
).
백업 hashbang을 지정하는 방법이나 node.js와 호환되는 백업 hashbang을 지정하는 방법이 있습니까? 스크립트가 노드의 개발자가 사용하기위한 것입니다 경우
스크립트를 호출하기위한 래퍼 셸 스크립트를 만들면 노드가 어디에 있고 무엇이 호출되는지 알 수 있습니다. – Doon
유닉스 사이트에서이 답변에 대한 많은 제안 - http://unix.stackexchange.com/questions/65235/universal-node-js-shebang – sargant
나는'#!/usr/bin '에서 변경 한 nodejs 스크립트를 가지고있다./node'를 우분투 12.04에서 12.10으로 업그레이드했을 때'#!/usr/bin/nodejs'로 변경했습니다. 그리고 그것은 둘 다 검사하는 래퍼에서 호출됩니다. '#!/usr/bin/env' 해킹에 대한 논의는 [이 질문] (http://unix.stackexchange.com/q/29608/10454)과 [내 대답] (http : // unix. stackexchange.com/questions/29608/why-is-it-better-to-use-usr-bin-env-name-instead-of-path-to-name-as-my/29620#29620). –