OSX의 노드 j에서 하위 프로세스 내에서 nvm을 시작하려고 시도하는 중 그러나 다음과 같은 오류가 발생합니다. /bin/sh :/Users/miker/.nvm/nvm.sh : 사용 권한이 거부되었습니다. 자식 프로세스는 코드 126 (없이 실행하기 때문에, 자식 프로세스가 실행 파일을 볼 수없는 내가, NVM에 명시 적 경로를 호출합니다.)NodeJS 자식 프로세스 EXEC 명령이 NVM 권한으로 거부 됨 OSX
이이 권한 문제입니다 분명하다로 종료. 그러나, 나는 왜 거기에 문제없이 자신의 명령을 시작할 수있는 이유는 모르겠다. 그것은 자식 프로세스에서 실행이 실패 할 때만입니다. 아마도 자식 프로세스가 다른 프로필의 컨텍스트에서 실행됩니까? 그렇다면 현재 프로필이나 컨텍스트를 유지할 수있는 방법이 있습니까? 여기
는 예제 코드let exec = require('child_process').exec;
let child = exec('echo $NVM_DIR && $NVM_DIR/nvm.sh use && npm install', {
cwd: './build/'
});
child.stdout.on('data',
(data) => {
console.log(data);
});
child.stderr.on('data',
(data) => {
//throw errors
console.log(data);
});
child.on('close', (code) => {
console.log('child process exited with code ' + code);
});
이다 나는 사람이 문제에 대한 해결책이있는 경우 0.32.1이 알려 주시기 바랍니다 NodeJS 7.2.1 및 NVM을 사용하고 있습니다.
네, 그게 전부입니다. nvm 스크립트를 소싱하면됩니다. 감사. – thxmike