노드 모듈에는 755 권한이 있습니다. npm에 sudo가 필요하지 않도록 하려면 어떤 권한을 설정해야 합니까?

노드 모듈에는 755 권한이 있습니다. npm에 sudo가 필요하지 않도록 하려면 어떤 권한을 설정해야 합니까?

저는 자동으로 실행되는 프레임워크를 사용 하고 있으며 npm디렉토리 webpack에는 . 내가 사용하는 프레임워크는 명령에 추가하는 것을 허용하지 않습니다 ./usr/lib/node_modulesnpmsudosudo

이제 npm install webpack -g.sudo

에는 어떤 권한이 허용되나요 /usr/lib/node_modules? 777 권한을 설정하면 안전하고 안전할까요?

감사합니다!

답변1

변경할 필요는 없습니다.허가npm없이 사용할 수 있도록 말이죠 sudo. 다음 단계를 따르지 npm않고 실행되도록 설정하려면 sudo다음 단계를 따르세요.

옵션 1:

  1. npm 디렉터리 경로를 가져옵니다.

    npm config get prefix
    
  2. 만약 당신이/usr 옵션 2로 이동그렇지 않으면 npm 디렉토리의 소유자를 귀하의 것으로 변경하십시오.

     sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
    

옵션 2:

  1. 전역 설치를 위한 디렉터리를 만듭니다.

    mkdir ~/.npm-global
    
  2. 해당 디렉터리를 사용하도록 구성합니다.

    npm config set prefix '~/.npm-global'
    
  3. 다음을 열거나 생성 ~/.profile하고 추가하세요.

    export PATH=~/.npm-global/bin:$PATH
    
  4. 이것을 파일에도 추가하세요 ~/.bashrc(선택 사항).

    export PATH=/home/username/.npm-global/bin:$PATH
    export NODE_PATH=/usr/lib/nodejs:/usr/lib/node_modules:/usr/share/javascript:/home/username/.npm-global/lib/node_modules
    
  5. 파일을 새로 고칩니다.

    source ~/.bashrc
    
  6. 다음을 실행하여 테스트합니다.

    npm install -g jshint
    

원천:

https://docs.npmjs.com/getting-started/fixing-npm-permissions

http://www.competa.com/blog/how-to-run-npm-without-sudo/

관련 정보