
내 노드 버전을 최신 안정 버전으로 업데이트하려고 합니다.
사용이 리소스나는 다음을 할 수 있었다:
sudo npm install n -g
하지만 내가 시도할 때
sudo npm n stable
나는 얻다:
sudo: n: command not found
을 실행하면 n stable
다음 명령이 표시됩니다.
n stable
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
install : node-v0.12.2
mkdir : /usr/local/n/versions/node/0.12.2
mkdir: cannot create directory ‘/usr/local/n’: Permission denied
Error: sudo required
답변1
나에게 맞는 솔루션을 찾았습니다.
sudo -E env "PATH=$PATH" n stable
여기에서 찾았습니다:https://stackoverflow.com/a/29400598/861615
답변2
놀랍게도 설치에는 홈 디렉터리에 npm
있는 폴더에 전역 접두사가 있습니다 . 이는 플래그를 사용하여 설치된 모든 패키지가 이 폴더에 설치된다는 의미입니다.npm
-g
sudo
다음 단계에 따라 이 폴더를 안전한 경로에 있는 폴더로 변경할 수 있습니다 .
그래픽 방식:
- 파일 관리자(노틸러스라고도 함)를 엽니다.
- 홈 폴더로 이동합니다.
- Ctrl+를 누르면 H숨겨진 파일이 표시됩니다.
.npmrc
즐겨 사용하는 텍스트 편집기로 라는 파일을 엽니다 .해당 파일에서 다음 내용이 포함된 줄을 찾으세요.
prefix=/home/<your_username>/npm
/home/<your_username>/npm
안전한 경로(예: )로 바꾸십시오/usr/local/bin
.교체하고 나면 다음과 같은 모양이 됩니다.
prefix=/usr/local/bin
- 파일을 저장합니다.
- 다시 뛰어
sudo npm install n -g
터미널 방법:
다음 명령을 실행하세요:
sed -i.bak "s%^prefix=.*$%prefix=/usr/local/bin%" ~/.npmrc
답변3
나는 이것이 Ubuntu 포럼이라는 것을 알고 있지만 이것이 나처럼 여기에서 검색한 RHEL 버전에 대해 동일한 문제를 가진 누군가에게 도움이 될 것이라고 확신합니다. 아마도 우분투에서도 작동할 것입니다.
ln -s /usr/local/bin/n /usr/bin/n
답변4
.npm-global
폴더를 엉망으로 만들지 않으려면유명한@Edson Horacio Junior 작성, @pohest의 글을 기반으로 함답변, 문제를 해결한 방법은 다음과 같습니다.
sudo ln -s /home/<username>/.npm-global/bin/n /usr/local/bin/n
sudo n --version # test it
참고로, npm의 단계를 따르지 않으면 아마도 작동하지 않을 것입니다.기본 전역 디렉터리 변경.