왜 '노드'가 아닌 'sudo node'만 실행할 수 있습니까?


0

방금 새 MacBook이 있고 공식 설치 프로그램을 사용하여 node.js를 설치했습니다.

어떤 이유로 나는 node.js 만 사용하여 실행할 수 있습니다. sudo node 뿐만 아니라 node. 나는 $ PATH를 두 번 확인했고 노드에 대한 경로가 거기에있다.

nikke at Nicks-MacBook-Pro in ~
$ node
-bash: node: command not found
nikke at Nicks-MacBook-Pro in ~
$ echo $PATH
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/local/git/bin:/Users/nikke/.rvm/bin
nikke at Nicks-MacBook-Pro in ~
$ /usr/local/bin/node -v
-bash: /usr/local/bin/node: Permission denied
nikke at Nicks-MacBook-Pro in ~
$ sudo /usr/local/bin/node -v
v0.10.12

내 동료는 같은 컴퓨터를 가지고 있으며 sudo를하지 않고도 노드를 정상적으로 실행할 수 있습니다. 이게 정상인가? 내가 뭘 잘못했을 수 있니? 설치 프로그램은 sudo를해야하는 것에 관해 아무 말도하지 않았습니다.

또한 git에서이 문제가 발생합니다. 하기 git commit 또한 말한다. Permission denied.


2
당신은 우리에게 노드와 그 디렉토리의 권리와 소유자를 보여줄 수 있습니까?
ssssteffff

맞춰 보자. 동료가 설치했다. node, 권리? 다음의 결과는 무엇입니까? ls -l /usr/local/bin/node?
David Schwartz

답변:


1

이 현상에는 두 부분이 있습니다. i> 위치 또는 ii> 자연 는 시스템을 불안정하게하는 방식으로 작동 할 수 있으므로 관리자로 로그인해야하거나 파일을 실행하는 데 필요한 권한이 없을 수 있습니다.

동료 컴퓨터에서 작업하는 경우 위에서 언급 한 요인이 다양 할 수 있습니다.

파일의 권한을 변경해보십시오 (관리자 권한이 다시 필요할 수도 있음). 가능한 경우 별도의 위치에서 실행 해보십시오. 수도 OS의 관리자 (필요한 권한을 가짐)로서의 직위를 높임으로써 업무를 완벽하게 수행합니다. 이는 시스템의 우발적 인 변경 / 손상을 방지하기 위해 OS 고유의 많은 보안 검사 중 하나입니다.

꼬마 도깨비: 선택한 위치에는 귀중한 시스템 관련 파일이 있으며 사용자는 편집 권한이 없습니다.

또한 친구가 이전에 수퍼 유저로 로그인 했습니까?

수호

??

그렇다면 그는 수퍼 유저로 이미 로그인 했으므로 다시 로그인 할 필요가 없습니다. 루트 사용자 권한은 # 프롬프트 대신에 $ .


상세한 답변을 보내 주셔서 감사합니다. 그것을 확인할 것입니다, 그가 실제로 달릴 수도 있다는 귀하의 제안 su 유효합니다.
Nick

@ 닉 : 천만에 .. .. :)
Somu

당신 말이 맞아, 결국 허가 문제 였어. 내 동료가 그랬어. sudo chmod go+rwx /usr/local/bin 그리고 나서 그것은 일하기 시작했습니다! 다시 한번 감사드립니다 :)
Nick

0

아마도 "/ usr / local / bin / node"프로그램이 "일반"사용자에 의해 실행될 수 없기 때문일 것입니다. 당신은 분명히 그것을 실행하기 위해 루트 사용자 여야합니다. 그것이 sudo가 필요한 이유입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.