ProgramingTip

LESS를 설치하려고 할 때 "루트 / 관리자 로이 명령을 다시 실행하십시오"

bestdevel 2020. 12. 14. 20:38
반응형

LESS를 설치하려고 할 때 "루트 / 관리자 로이 명령을 다시 실행하십시오"


내 컴퓨터에 설치하려고 이미 노드를 설치했습니다. 그러나 "node install -g less"를 입력하면 다음과 같은 오류가 발생하고 어떻게 해야할지 모르겠습니까?

FPaulMAC:bin paul$ npm install -g less
npm ERR! Error: EACCES, unlink '/usr/local/lib/node_modules/less'
npm ERR!  { [Error: EACCES, unlink '/usr/local/lib/node_modules/less']
npm ERR!   errno: 3,
npm ERR!   code: 'EACCES',
npm ERR!   path: '/usr/local/lib/node_modules/less' }
npm ERR! 
npm ERR! Please try running this command again as root/Administrator.

npm ERR! System Darwin 13.3.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "-g" "less"
npm ERR! cwd /usr/local/bin
npm ERR! node -v v0.10.33
npm ERR! npm -v 1.4.28
npm ERR! path /usr/local/lib/node_modules/less
npm ERR! code EACCES
npm ERR! errno 3
npm ERR! stack Error: EACCES, unlink '/usr/local/lib/node_modules/less'
npm ERR! error rolling back Error: EACCES, unlink '/usr/local/lib/node_modules/less'
npm ERR! error rolling back  { [Error: EACCES, unlink '/usr/local/lib/node_modules/less']
npm ERR! error rolling back   errno: 3,
npm ERR! error rolling back   code: 'EACCES',
npm ERR! error rolling back   path: '/usr/local/lib/node_modules/less' }
npm ERR! not ok code 0

Re Explosion Pills "설치는 임의의 설치를 사용할 수 있고 sudo로 실행하는 매우 위험 할 수 있습니다!"

sudo를 사용하는 것이 잘못된 방법 인 것입니다.

"/ usr / 로컬 폴더에있는 파일의 소유자를 현재 사용자로 변경하십시오."

sudo chown -R $USER /usr/local

그런 다음 설치를 실행하십시오.

node install -g less

확인 :


솔직히 이것은 나쁜 조언입니다 npm. 설치는 임의의 설치를 사용할 sudo있고 함께 실행하는 것은 매우 위험 할 수 있습니다! 당신은 할 수있는 sudo npm install -g less전 세계적으로 설치하는 대신 나는 당신의 NPM 설정을 업데이트하는 것이 좋습니다 :

#~/.npmrc
prefix=~/.npm_modules

그런 다음 경로를 업데이트 할 수 있습니다.

#~/.bashrc or ~/.zshrc, etc.
export PATH=$PATH:$HOME/.npm_modules/bin

설치를 수행하기 위해 루트 권한이 필요하지 않고 계속 사용할 수 있습니다.

그러나 귀하의 사용자에게만 적용됩니다. 전체 시스템이 모듈을 사용할 수 있도록 사용할 수있는 모든 사람에게 경로를 추가 알려야합니다. 더 복잡하고 강력한 솔루션에는 그룹이 존재하는 수있는 노드 모듈 / 바이너리가있는 폴더를 추가 하고 이를 모든 경로에 추가 하는 것이 포함 됩니다.


sudo명령 시작 부분에 추가 보강 . 앞에서 많은했듯이 설치는 위험 할 수있는 일부 펼쳐지는 것이 실행하지만 전 세계적으로 설치하는 것이 도움이되고 있다는 것을 알았습니다.

운영 sudo npm install -g less


이것은 확실히 도움이 될 것입니다. npm 자체에 의해 답변됩니다. https://docs.npmjs.com/getting-started/fixing-npm-permissions

아래는 귀하의 편의를 위해 URL에서 추출한 것입니다.


옵션 1 : npm의 기본 디렉토리에 대한 권한 변경

  1. npm의 디렉토리 경로를 찾으십시오.

    npm config get prefix

많은 시스템에서 / usr / local입니다.

경고 : 경로 전환가 / usr 일 경우에는 전환하지 않습니다.

  1. npm 디렉토리의 소유자를 현재 사용자의 이름 (사용자 이름!)으로 변경합니다.

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

그러면 npm 및 기타 도구 (lib / node_modules, bin 및 share)에서 사용하는 하위 폴더의 권한이 변경됩니다.


옵션 2 : npm의 기본 디렉터리를 다른 디렉터리로 변경

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

    mkdir ~/.npm-global

  2. 새 디렉터리 경로를 사용하도록 npm을 구성합니다.

    npm config set prefix '~/.npm-global'

  3. ~ / .profile 파일을 열거 나 만들고 다음 줄을 추가합니다.

    export PATH=~/.npm-global/bin:$PATH

  4. 명령 줄로 돌아가서 시스템 변수를 업데이트합니다.

    source ~/.profile

테스트 : sudo를 사용하지 않고 전역 적으로 패키지를 다운로드합니다.

`npm install -g jshint`

2-4 단계 대신 해당 ENV 변수를 사용할 수 있습니다 (예 ~/.profile: 수정하지 않으려는 경우 ).

NPM_CONFIG_PREFIX=~/.npm-global


옵션 3 :이를 처리하는 패키지 관리자를 사용하십시오.

Mac OS에서 Node를 새로 설치하는 경우 Homebrew 패키지 관리자를 사용하여이 문제를 모두 피할 수 있습니다. Homebrew는 올바른 권한으로 즉시 설정합니다.

brew install node


Windows가 내 node_modules폴더를 읽기 전용 으로 설정했기 때문에이 문제가 계속 발생했습니다 . 이것을 선택 취소했는지 확인하십시오.

여기에 이미지 설명 입력


이것은 OP에 언급 된 문제를 피하기 위해 Less 컴파일러로 시작하기 위해해야하는 일입니다.

  1. node.js 설치
  2. 터미널에 NPM 설치 : sudo npm install npm -g
  3. 터미널과 함께 Less 컴파일러 설치 : sudo npm install -g less(sudo가 모든 차이를 만듭니다)
  4. PHPstorm을 사용하는 경우 : "환경 설정…> 플러그인"으로 이동하여 NodeJS -plugin을 설치하고 (찾으려면 "리포지토리를 검색"해야 할 수 있음) PHPstorm을 다시 시작합니다 (메시지가 표시됨).
  5. 그런 다음 다시 플러그인으로 이동합니다. Less 컴파일러를 설치 하고 (찾으려면 "리포지토리를 검색"해야 할 수 있음) PHPstorm을 다시 시작합니다 (메시지가 표시됨).
  6. 프로젝트를 설정했으면 "설정> 도구> 파일 감시자"로 이동하여 "덜"을 추가하십시오. 경로 ( "프로그램")는 다음과 같아야합니다./usr/local/bin/lessc
  7. 6의 설정에서 루트 파일 만 추적 이 선택되어 있는지 확인하십시오 .

npm에는 EACCES (오류 : 액세스) 오류가 발생했을 때 npm 권한 수정에 대한 공식 페이지 가 있습니다. 페이지에는 비디오도 있습니다.

다음 두 가지 옵션 중 하나를 사용하여이 문제를 해결할 수 있습니다.

  1. npm의 기본 디렉토리에 대한 권한을 변경하십시오.
  2. npm의 기본 디렉토리를 다른 디렉토리로 변경하십시오.

제 경우에는 5.3.0 → 5.4.2에서 npm 버전을 업데이트해야했습니다.

내가 이것을 사용하기 전에 -- npm i -g npm.. 나는 내 문제를 완벽하게 해결하는 두 개의 명령을 실행해야했다. 문제를 해결할 가능성이 매우 높습니다.

1 단계: sudo chown -R $USER /usr/local

2 단계: npm install -g cordova ionic

그런 다음 npm을 최신 버전으로 업데이트해야합니다.

3 단계 : npm i -g npm

그럼 당신은 갈 수 있습니다. 희망 이것은 당신의 문제를 해결합니다. 건배!!


나는 또한 문제가있다. 이것이 내가 한 일입니다.

  1. 제어판> 프로그램 제거에서 nodeJ를 제거했습니다.
  2. users // appData / roaming-> npm 폴더와 npm-cache 폴더에는 2 개의 폴더가 있습니다. 둘 다 삭제하십시오.

이제 nodeJS 사이트로 이동하여 다시 설치하십시오. 설치 옵션 (예 : npm 패키지)에서 두 번째 옵션을 선택합니다. 그것을 설치하십시오. 당신 문제는 지금까지 해결되어야합니다.


나는 이것이 오래된 질문이라는 것을 알고 있지만 해결책 중 어느 것도 좋은 관행처럼 보이지 않았 으므로이 문제를 어떻게 해결했는지 설명하고 있습니다.

Homebrew 를 사용하여이 문제를 해결하려고 시도 했지만 /usr/local directory다시 EACCES오류가 발생할 노드를 설치했습니다 .

더 많은 정보를 위해 nvm 과 같은 버전 관리자를 사용해야 만했다 . 공식 npm 가이드를 보라 .

다양한 운영 체제 용 .

nvm은 사용자의 홈 폴더 에 노드와 모듈을 설치 하여 EACCES문제 를 해결 합니다.

참고 URL : https://stackoverflow.com/questions/26612649/please-try-running-this-command-again-as-root-administrator-error-when-trying

반응형