오류: EACCES: 권한이 거부되었습니다. '/usr/local/lib/node_modules'에 액세스하십시오.
입니까?Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
?
npm ERR! path /usr/local/lib/node_modules
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall access
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR! { Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'access',
npm ERR! path: '/usr/local/lib/node_modules' }
npm ERR!
npm ERR! Please try running this command again as root/Administrator.
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/macbookmd101/.npm/_logs/2018-02-21T16_26_08_421Z-debug.log
파일 사용 권한 변경...이것처럼.
먼저 디렉토리 소유자 확인
ls -la /usr/local/lib/node_modules
node_message 폴더가 루트에서 소유하고 있기 때문에 액세스를 거부하고 있습니다.
drwxr-xr-x 3 root wheel 102 Jun 24 23:24 node_modules
따라서 사용자에게 루트를 변경하여 변경해야 하지만 아래 명령을 먼저 실행하여 현재 사용자를 확인하십시오. OS X에서 명령줄을 통해 활성 사용자의 이름을 가져오려면 어떻게 해야 합니까?
id -un
ORwhoami
그러면 소유자 변경
sudo chown -R [owner]:[owner] /usr/local/lib/node_modules
OR
sudo chown -R ownerName: /usr/local/lib/node_modules
OR
sudo chown -R $USER /usr/local/lib/node_modules
권한 오류 발생 가능성을 최소화하기 위해 다른 디렉터리를 사용하도록 npm을 구성할 수 있습니다.이 예에서는 홈 디렉토리에 숨겨진 디렉토리를 작성하고 사용합니다.
컴퓨터를 백업합니다.명령줄의 홈 디렉토리에 글로벌 설치를 위한 디렉토리를 생성합니다.
mkdir ~/.npm-global
새 디렉터리 경로를 사용하도록 npm을 구성합니다.
npm config set prefix '~/.npm-global'
▁the▁or▁create를 열거나 만듭니다.~/.profile
파일을 작성하고 다음 행을 추가합니다.
export PATH=~/.npm-global/bin:$PATH
명령줄에서 시스템 변수를 업데이트합니다.
source ~/.profile
구성을 을 사용하지 않고 전체적으로 합니다.sudo
.
출처: NPM 웹사이트.
@okanda에서 제시한 답의 해결을 시도해 보았지만 저에게는 효과가 없었습니다.
그러나 이 스레드에 언급된 것과 같은 여러 폴더에 대해 수행했을 때 완벽하게 작동했습니다. https://github.com/angular/angular-cli/issues/9676#issuecomment-464857493
sudo chown -R $USER /usr/local/lib/node_modules/
sudo chown -R $USER /usr/local/bin/
sudo chown -R $USER /usr/local/share/
/local/lib 소유자에 USER를 추가하기만 하면 됩니다.
sudo chown -R $USER /usr/local/lib
편집:
node_modules 폴더만 정확하게 대상으로 지정하려면 이전 명령을 사용하기 전에 다음 명령을 사용해 보십시오.
sudo chown -R $USER /usr/local/lib/node_modules
당신이 시도하는 어떤 명령 앞에 sudo를 추가해 보세요.
이와 같이 : sundpm 설치
Linux/UNIX에서 sudo를 명령과 함께 사용하면 일반적으로 권한이 슈퍼 사용자 수준으로 상승합니다.Windows(윈도우)에서 슈퍼 사용자 계정은 일반적으로 '관리자'라고 합니다.Linux/Unix에서 슈퍼 사용자 계정의 이름은 일반적으로 'root'입니다.
루트 사용자는 컴퓨터의 거의 모든 파일에 액세스하거나 수정 또는 삭제할 수 있는 권한을 가지고 있습니다.일반 사용자 계정은 훨씬 적은 수의 파일에 액세스하거나 수정 또는 삭제할 수 있습니다.일반 계정에 대한 제한은 권한이 없거나 유해한 프로그램 또는 사용자로부터 컴퓨터를 보호합니다.일부 프로세스에서는 일반적으로 액세스 권한이 없는 파일 또는 폴더에 대해 작업을 수행해야 합니다.모든 사용자가 액세스할 수 있는 프로그램 설치는 이러한 작업 중 하나입니다.
이 경우 sudo와 함께 설치 명령을 실행하면 수퍼유저의 권한이 부여되며 일반 사용자가 수정할 권한이 없는 파일을 수정할 수 있습니다.
노드 버전 관리자 또는 노드 설치 관리자를 통해 npm을 설치할 수 있습니다.문서에는 다음과 같이 나와 있습니다.
노드 설치 프로세스는 로컬 사용 권한이 있는 디렉토리에 npm을 설치하고 전체적으로 npm 패키지를 실행할 때 사용 권한 오류를 발생시킬 수 있으므로 노드 설치 관리자를 사용하지 않는 것이 좋습니다.
NPM은 실제로 이러한 오류를 방지하기 위해 노드 버전 관리자를 사용할 것을 권장합니다.
사용 권한 오류가 있으므로 노드 설치 관리자를 통해 npm을 설치한 후 nvm(노드 버전 관리자)을 사용하여 다시 설치해야 합니다.
다행히도, 이것은 매우 간단합니다.현재 버전의 npm 또는 Node.js를 제거할 필요도 없습니다.
당신이 해야 할 일은
nvm을 설치합니다.OSX 또는 Linux 노드의 경우 다음을 사용합니다.
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/<VERSION>/install.sh | bash
<VERSION>
.
그러면 홈 디렉토리에 vm 폴더가 생성됩니다.
그리고나서
npm 및 node.js를 nvm을 통해 설치합니다.그러시려면, 그냥 전화하세요.
nvm install node
("node"는 최신 버전의 별칭입니다.)
이제 패키지를 사용하지 않고 전체적으로 설치할 수 있습니다.sudo
또는소변의 것.node_modules
usr
폴더를 누릅니다.
Mac에서 이 문제가 발생하는 경우 먼저 다음 단계를 수행하십시오. 아래 명령을 사용하여 이 파일의 소유자를 확인하십시오.
ls -la /usr/local/lib/node_modules
아래에 일부 파일이 있으며 그 중 하나가 아래에 나열되어 있습니다.
drwxr-xr-x 3 root wheel 768 May 29 02:21 node_modules
위의 파일이 root에 의해 소유되고 있다는 것을 알고 계십니까?내부를 변경하려면 경로의 소유권을 변경해야 합니다.
이 명령을 사용하여 현재 사용자가 누구인지 확인할 수 있습니다.
id -un (in my case user is Yamsol)
그런 다음 이 명령을 호출하여 변경할 수 있습니다(사용자 이름을 ownerName으로 바꾸기만 하면 됩니다).
sudo chown -R ownerName: /usr/local/lib/node_modules
당신이 알다시피 나의 경우 사용자는 "얌솔"입니다. 나는 이 명령을 이런 식으로 부를 것입니다.
sudo chown -R yamsol: /usr/local/lib/node_modules
바로 그겁니다.
권한 문제가 발생한 것 같습니다.를 npm-packages
그러면 당신이 받을 가능성이 있을 수도.EACCES
패키지를 전체적으로 설치하려고 할 때 오류가 발생했습니다.즉, 디렉토리에 쓸 수 있는 권한이 없습니다.npm
를 사용하여 글로벌 패키지 및 명령을 저장합니다.
명령을 .sudo chmod u+x -R 775 ~/.npm
그리고.sudo chown $USER -R ~/.npm
또는 아무 것이나 실행할 수 있습니다.npm
으로 합니다.sudo
문제를 해결할 수 있습니다.
을 npm-package
, "" "" "" "" "" "" "" "" ""를 볼 수 .sudo npm install <pkg-name>
필요한 패키지를 설치하는 명령입니다.사용 목적sudo
이 변경되어 현재 에게 즉, 현사자게실권행부한수여을소있권변한유다경을 실행할 권한을 부여할 수 있습니다.npm
명령을 실행합니다.
저는 당신이 https://docs.npmjs.com/getting-started/fixing-npm-permissions 을 보는 것을 추천합니다.
unbuntu에서 글로벌 패키지를 설치하는 동안 다음에 쓸 때 특별한 쓰기 권한이 필요합니다.usr/bin
폴더를 누릅니다.보안상의 이유로 그렇습니다.따라서 글로벌 패키지를 설치할 때마다 다음을 사용합니다.
sudo npm install -g [package-name]
구체적인 경우는 다음과 같습니다.
sudo npm install -g typescript
/usr/local에서 모든 디렉토리의 소유자를 변경하는 모든 응답에 주의합니다. 기본적으로 Linux 시스템을 망치지 마십시오!
용사를 합니다.sudo
당신의 지역적인 것 또한 정말 나쁜 추천입니다.
www.competa.com 의 원래 링크가 끊어졌으므로 여기서 원래 접근 방식은 다음과 같습니다.
npm config set prefix ~/.npm
# open your .bashrc (Linux) or .bash_profile (Mac) file for editing:
nano ~/.bashrc # for Linux
# or...
nano ~/.bash_profile # for Mac if you haven't created a .bashrc file
# add these lines:
export PATH="$PATH:$HOME/npm/bin"
export NODE_PATH="$NODE_PATH:$HOME/npm/lib/node_modules"
# save the file and then enter this command or logout and login to make the changes take effect:
. ~/.bashrc
# or...
. ~/.bash_profile
옵션 B: NVM과 같은 버전 관리자 사용
권한을 부여한 후에도 여전히 작동하지 않으면 다음 명령을 실행해 보십시오.
mkdir ~/.npm-global
npm config set prefix '~/.npm-global'
export PATH=~/.npm-global/bin:$PATH
source ~/.profile
그리고 마지막으로 이 명령으로 테스트합니다.
npm install -g jshint
Windows에서는 작동하지 않습니다.
나는 리액트 엑스포를 설치하려고 했고 sudo를 제외하고는 --unsafe-perm을 추가해야 했습니다.
이것처럼.이렇게 하면 문제가 해결됩니다.
sudo npm install -g expo-cli --unsafe-perm
이 문제를 주의 깊게 검토합니다.
https://ionicframework.com/docs/developing/tips#resolving-permission-errors
sudo chown -R $(whoami) /usr/local/{lib/node_modules,bin,share}
sudo chown -R $(whoami) ~/.npm ~/.npmrc
센트에서 발견됨OS 8 스트림
해결책
(1/4) node_modules 폴더 만들기
$ sudo mkdir /usr/local/lib/node_modules
(2/4) 현재 사용자 소유
$ sudo chown -R $USER /usr/local/lib/node_modules/
하기 (3/4) »bin
folder
$ sudo chown -R $USER /usr/local/bin/
하기 (4/4) »share
folder
$ sudo chown -R $USER /usr/local/share/
nvm 사용자의 경우
sudo chown -R $USER /home/bereket/.nvm/versions/node/v8.9.1/lib/node_modules
그리고.
sudo chown -R $USER /usr/local/lib/node_modules/
체교다를 v8.9.1
사용 중인 노드 버전을 사용합니다.
이 anpm 로컬이 하려고 한 .man npm install
설명:
-g 또는 --global 인수를 지정하면 npm이 패키지를 로컬이 아닌 전역으로 설치합니다.
일반적으로 pm 프로젝트를 설정할 때는 디버그 로그에서 제안한 대로 Node.js 글로벌 모듈(/usr/local/lib/node_modules)에 패키지를 설치하는 것이 좋지 않습니다.
사하는대를 사용하는 에.-g
,사용하다--save
으로 사용자의 키패자종저로다니장에 으로 저장됩니다.package.json
파일 이름:
다음과 같이:
$ npm install express-generator --save
$ cat package.json
{
"name": "first_app_generator",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "ivanleoncz",
"license": "MIT",
"dependencies": {
"express-generator": "^4.16.0"
}
}
하지만 다른 답변들이 언급했듯이, 만약 당신이 사용할 것이라면.-g
은 야합니다해사를 사용해야 .sudo
(사용자에게 sudo 권한이 있는 경우 /etc/sudoers 참조)을 수행할 때npm install express-generator -g
하지만 실제로는 허가 문제를 일으킬 수 있는 좋은 생각이 아닙니다.
공지
이있다니를 설치하는 .express-generator
와 함께-g
, 를 " " "로express-cli.js
도 있지만 할 수 있습니다.이는 " 템스경서스설도다사수있용"에 있습니다.node_modules
당신의 프로젝트npm 프트경우의:
$ ./node_modules/express-generator/bin/express-cli.js --view=pug myapp
/usr/bin/env와 같은 메시지가 표시되는 경우: 'node': 해당 파일 또는 디렉토리가 표시되지 않습니다. 설치합니다.
nodejs-legacy
(데비우/분투안)
사용, 용사-g
(으)로 사용)sudo
)는 결과에 대해 확신이 없는 경우 hic sunt dracon과 같습니다.
자세한 내용은 다음을 참조하십시오.
저는 mac에서 다음을 사용하여 문제를 해결할 수 있었습니다.
sudo npm install -g @aws-amplify/cli --unsafe-perm=true
은 이의결발습니다했생로과는의 로 발생했습니다.npm
귀하의 수 .node_modules
디렉토리, 중
sudo chown -R Name: /usr/local/lib/node_modules
예.
sudo chown -R developerayo: /usr/local/lib/node_modules
이제 실행한 명령을 다시 실행할 수 있습니다.
위에서 언급한 솔루션을 사용한 후에도 여전히 문제를 해결할 수 없는 분들을 위해.사용해 보세요.
sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
그거면 충분해요, 건배!
그것은 100% 일입니다.
sudochown -R $(whoami) $(npm 구성 접두사 가져오기)/{lib/node_modules,bin,share}
아래의 명령은 나에게 효과가 있었습니다.
sudo npm install -g appium --unsafe-perm=true --allow-root
내 맥에서도 아이오닉을 설치하는 동안 비슷한 문제가 발생합니다.
는 령을실행니다 합니다.sudo chown -R $USER /usr/local/
오류에 지정된 대로 업데이트할 수 있는 경로입니다.
하여 이명사여설을 설치합니다.npm
사용자sudo 용자서로:
sudo npm install -g create-react-app
npm을 설치하는 대신 -g create-syslog-app을 설치합니다.
단순히 소유자를 변경하거나 이렇게 명령하기 전에 sudo를 사용할 수 있습니다.
sudo chown -R [owner]:[owner] /usr/local/lib/node_modules
(소유자 변경)
또는
sudo npm install -g json-server
바로 그겁니다.
linux / unbuntu의 경우 명령어
npm install -g <package_name>
npm WARN deprecated superagent@4.1.0: Please note that v5.0.1+ of superagent removes User-Agent header by default, therefore you may need to add it yourself (e.g. GitHub blocks requests without a User-Agent header). This notice will go away with v5.0.2+ once it is released.
npm ERR! path ../lib/node_modules/<package_name>/bin/..
npm ERR! code EACCES
npm ERR! errno -13
npm ERR! syscall symlink
npm ERR! Error: EACCES: permission denied, symlink '../lib/node_modules
/<package_name>/bin/..' -> '/usr/local/bin/<package_name>'
npm ERR! { [Error: EACCES: permission denied, symlink '../lib/node_modules/<package_name>/bin/..' -> '/usr/local/bin/<package_name>']
npm ERR! cause:
npm ERR! { Error: EACCES: permission denied, symlink '../lib/node_modules/<package_name>/bin/..' -> '/usr/local/bin/<package_name>'
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'symlink',
npm ERR! path: '../lib/node_modules/<package_name>/bin/..',
npm ERR! dest: '/usr/local/bin/ionic' },
npm ERR! stack:
npm ERR! 'Error: EACCES: permission denied, symlink \'../lib/node_modules/ionic/bin/ionic\' -> \'/usr/local/bin/ionic\'',
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'symlink',
npm ERR! path: '../lib/node_modules/<package-name>/bin/<package-name>',
npm ERR! dest: '/usr/local/bin/<package-name>' }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator (though this is not recommended).
npm ERR! A complete log of this run can be found in:
npm ERR! /home/User/.npm/_logs/2019-07-29T01_20_10_566Z-debug.log
수정 : 루트 권한으로 설치
sudo npm install <package_name> -g
React를 설치하려면 Superuser 수준의 권한이 필요합니다.Linux/Unix에서 슈퍼 사용자 계정의 이름은 일반적으로 'root'입니다.
슈퍼 사용자 권한을 얻으려면 터미널에서 다음 명령을 실행하십시오.
sudo -i
그런 다음 명령을 실행하여 React를 설치합니다.
npm install -g create-react-app
그러나 reactjs 팀은 글로벌 패키지를 설치하는 대신 다음 명령을 사용할 것을 권장합니다.
npx create-react-app app_name
sudochown -R $USER /usr/local/lib/node_modules
POsha의 대답과 비슷하지만 이것이 Ubuntu 19에서 제게 효과가 있었던 것입니다.
sudo npm i -g ngrok --unsafe-perm=true --allow-root
이 링크에서
https://github.com/inconshreveable/ngrok/issues/429
npm 명령 앞에 "sudo"를 추가하면 됩니다.바로 그거야.
brew 제거 노드
brew 설치 노드
sundpm install -g "your_package" --sundam-package=true --allow-root
이것이 누군가에게 도움이 되기를 바랍니다.
언급URL : https://stackoverflow.com/questions/48910876/error-eacces-permission-denied-access-usr-local-lib-node-modules
'programing' 카테고리의 다른 글
NPOI 워크북 이후 MemoryStream이 닫혀 있는 것 같습니다.글? (0) | 2023.05.25 |
---|---|
가상 환경에서 Spyder를 실행하는 방법은 무엇입니까? (0) | 2023.05.20 |
이스 스위프트UI가 iOS 12.x 및 이전 버전과 역호환됩니까? (0) | 2023.05.20 |
프로젝트에 오류가 있습니다. 실행하기 전에 수정하십시오. (0) | 2023.05.20 |
커밋하기 전에 파일 차이를 보는 방법 (0) | 2023.05.20 |