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없이 오류 발생
- https://aralbalkan.com/scribbles/npm-install-g-please-try-running-this-command-again-as-root-administrator/
- http://foohack.com/2010/08/intro-to-npm/#what_no_sudo
솔직히 이것은 나쁜 조언입니다 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의 기본 디렉토리에 대한 권한 변경
npm의 디렉토리 경로를 찾으십시오.
npm config get prefix
많은 시스템에서 / usr / local입니다.
경고 : 경로 전환가 / usr 일 경우에는 전환하지 않습니다.
npm 디렉토리의 소유자를 현재 사용자의 이름 (사용자 이름!)으로 변경합니다.
sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
그러면 npm 및 기타 도구 (lib / node_modules, bin 및 share)에서 사용하는 하위 폴더의 권한이 변경됩니다.
옵션 2 : npm의 기본 디렉터리를 다른 디렉터리로 변경
전역 설치를위한 디렉토리를 만듭니다.
mkdir ~/.npm-global
새 디렉터리 경로를 사용하도록 npm을 구성합니다.
npm config set prefix '~/.npm-global'
~ / .profile 파일을 열거 나 만들고 다음 줄을 추가합니다.
export PATH=~/.npm-global/bin:$PATH
명령 줄로 돌아가서 시스템 변수를 업데이트합니다.
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 컴파일러로 시작하기 위해해야하는 일입니다.
- node.js 설치
- 터미널에 NPM 설치 :
sudo npm install npm -g
- 터미널과 함께 Less 컴파일러 설치 :
sudo npm install -g less
(sudo가 모든 차이를 만듭니다) - PHPstorm을 사용하는 경우 : "환경 설정…> 플러그인"으로 이동하여 NodeJS -plugin을 설치하고 (찾으려면 "리포지토리를 검색"해야 할 수 있음) PHPstorm을 다시 시작합니다 (메시지가 표시됨).
- 그런 다음 다시 플러그인으로 이동합니다. Less 컴파일러를 설치 하고 (찾으려면 "리포지토리를 검색"해야 할 수 있음) PHPstorm을 다시 시작합니다 (메시지가 표시됨).
- 프로젝트를 설정했으면 "설정> 도구> 파일 감시자"로 이동하여 "덜"을 추가하십시오. 경로 ( "프로그램")는 다음과 같아야합니다.
/usr/local/bin/lessc
- 6의 설정에서 루트 파일 만 추적 이 선택되어 있는지 확인하십시오 .
npm에는 EACCES (오류 : 액세스) 오류가 발생했을 때 npm 권한 수정에 대한 공식 페이지 가 있습니다. 페이지에는 비디오도 있습니다.
다음 두 가지 옵션 중 하나를 사용하여이 문제를 해결할 수 있습니다.
- npm의 기본 디렉토리에 대한 권한을 변경하십시오.
- 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
그럼 당신은 갈 수 있습니다. 희망 이것은 당신의 문제를 해결합니다. 건배!!
나는 또한 문제가있다. 이것이 내가 한 일입니다.
- 제어판> 프로그램 제거에서 nodeJ를 제거했습니다.
- users // appData / roaming-> npm 폴더와 npm-cache 폴더에는 2 개의 폴더가 있습니다. 둘 다 삭제하십시오.
이제 nodeJS 사이트로 이동하여 다시 설치하십시오. 설치 옵션 (예 : npm 패키지)에서 두 번째 옵션을 선택합니다. 그것을 설치하십시오. 당신 문제는 지금까지 해결되어야합니다.
나는 이것이 오래된 질문이라는 것을 알고 있지만 해결책 중 어느 것도 좋은 관행처럼 보이지 않았 으므로이 문제를 어떻게 해결했는지 설명하고 있습니다.
Homebrew 를 사용하여이 문제를 해결하려고 시도 했지만 /usr/local directory
다시 EACCES
오류가 발생할 노드를 설치했습니다 .
더 많은 정보를 위해 nvm 과 같은 버전 관리자를 사용해야 만했다 . 공식 npm 가이드를 보라 .
다양한 운영 체제 용 .
nvm은 사용자의 홈 폴더 에 노드와 모듈을 설치 하여 EACCES
문제 를 해결 합니다.
'ProgramingTip' 카테고리의 다른 글
오늘 앱 확장 위젯 탭하여 포함 앱 열기 (0) | 2020.12.14 |
---|---|
C for 루프의 조건에서 상수 대신에 필요한 이유는 무엇입니까? (0) | 2020.12.14 |
Ubuntu에 Android Studio를 설치하는 방법은 무엇입니까? (0) | 2020.12.14 |
.NET 2.0 실행의 LINQ (0) | 2020.12.14 |
Python 인수 (0) | 2020.12.14 |