Debian: 전역적으로 액세스 가능한 루트로 노드 경로 설정

Debian: 전역적으로 액세스 가능한 루트로 노드 경로 설정

설치 프로그램을 다운로드하여 NodeJS안에 넣었습니다 /home/deploy/nodejs. 나는 그 길을 설정하려고 노력하고 있지만 성공하지 못했습니다. 루트로 로그인했는데 nodejs루트로도 액세스하고 싶습니다. 이를 위해 다음을 npm추가해 보았습니다 ./root/.bashrc

PATH=/usr/bin/node:/home/deploy/nodejs/bin/
PATH=/usr/bin/npm:/home/deploy/nodejs/bin/

그 후 나는 시도했지만 node그들 npm중 누구도 효과가 없었습니다. 내가 뭘 잘못했나요?

내부 파일은 /home/deploy/nodejs/binnode, node_modules 및 npm입니다. .deb 설치 프로그램을 시도했지만 npm이 설치되지 않고 Nodejs가 설치되므로 이 모든 작업을 수행해야 합니다... :-(

고쳐 쓰다

npm
/home/deploy/nodejs/bin/npm: 1: /home/deploy/nodejs/bin/npm: dirname: not found
/home/deploy/nodejs/bin/npm: 2: exec: /node: not found

답변1

1) 시스템의 많은 부분을 손상시키는 경로를 다루고 있습니다. 올바른 줄은 다음과 같습니다.

PATH="$PATH:/home/deploy/nodejs/bin"

이렇게 하면 덮어쓰는 대신 PATH에 무언가를 추가할 수 있습니다. 또한 경로는 파일이 아닌 디렉터리로 구성되어 있으며 /usr/bin이미 디렉터리에 있어야 하므로 첫 번째 부분은 쓸모가 없습니다.

2) "껐다가 다시 켜보셨나요?" - .bashrc로그인 중이거나 사용 중에만 로드됩니다 source ~/.bashrc. 시스템 전체의 경로를 변경하려면 에서 변경해야 합니다 /etc/profile.

/home/deploy/nodejs/bin/node3) 또한 파일이 있고 실행 가능한지 확인하십시오. (올바로 설치했다면 확실히 실행되지만 chmod a+x /home/deploy/nodejs/bin/node /home/deploy/nodejs/bin/npm더 확실하게 실행해 볼 수 있습니다.)

답변2

내가 한 일은 다음과 같습니다.

  1. 다음에서 올바른 버전(제 경우에는 Raspberry Pi 3b용 ARMv7)을 다운로드하세요.NodeJS 사이트
  2. /opt/node에서 압축 풀기( xz -d및 사용 tar xf)
  3. 이렇게 하면 일반적으로 하위 디렉터리에 모든 내용이 남게 되므로 모든 내용을 옮겼습니다.mv node-v14.15.4-linux-armv7l/* .
  4. Node, npm 및 npx에 대한 /usr/bin에 대한 소프트 링크 생성
    root@fileserver:/opt/node# ln -s /opt/node/bin/npx /usr/bin/npx
    root@fileserver:/opt/node# ln -s /opt/node/bin/node /usr/bin/node
    root@fileserver:/opt/node# ln -s /opt/node/bin/npm /usr/bin/npm 

그러면 모든 것이 매력처럼 작동할 것입니다. 다른 사용자의 액세스를 허용하려면 chmod를 사용하여 권한을 변경해야 할 수도 있습니다.

사용자 기반 솔루션에 대해서는 다음을 확인하세요.https://github.com/nodejs/help/wiki/Installation#how-to-install-nodejs-via-binary-archive-on-linux

관련 정보