일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 시퀄라이즈
- 솔리디티
- 이더리움
- node.js 교과서 따라하기
- 자바스크립트
- centos
- 리눅스
- 리액트를 다루는 기술
- 깃허브
- 라우터
- 벨로포터
- wsl
- Docker
- 일반유저
- 전역설치
- 노드
- immer
- 머클트리
- 블록체인
- 환경변수
- 쉘스크립트
- 리액트
- npm
- 머클루트
- 설치
- 변수
- MariaDB
- Sequelize
- wget
- 우분투
- Today
- Total
코드코코
[리눅스]에러1. /mnt/c/Program Files/nodejs/npm: 6: Syntax error: word unexpected (expecting "in") // 에러2. Error: EACCES: permission denied 본문
[리눅스]에러1. /mnt/c/Program Files/nodejs/npm: 6: Syntax error: word unexpected (expecting "in") // 에러2. Error: EACCES: permission denied
코드코코 2021. 12. 16. 22:47현재상황
- vscode로 우분투내의 작업폴더를 열어 npm start 하려던 중
에러발생
- 에러내용
: not foundram Files/nodejs/npm: 3:
: not foundram Files/nodejs/npm: 5:
/mnt/c/Program Files/nodejs/npm: 6: Syntax error: word unexpected (expecting "in")
해결방법
1. which 명령어로 무엇을 실행시키고 있나 확인
- 우분투 내의 npm을 실행 중인데 c드라이브의 경로가 보이는 것이 이상하므로 실행경로를 확인하기
- 확인 결과 윈도우에 설치된 npm를 실행시키고 있었음
- 환경변수를 확인하면 nodejs를 윈도우에서 가져오고 있는 것이 확인된다.
2. 재설치
- PATH의 우선순위를 이용하여 재설치를 해주자.
- 윈도우의 환경변수 PATH를 참조하더라도, WSL 내에서 기본적으로 설정한 PATH 항목의 우선순위가 높다
root@DESKTOP-RJ31OF5:/home/ubuntu/lg/server# sudo apt install npm
...중략
root@DESKTOP-RJ31OF5:/home/ubuntu/lg/server# npm install npm@latest -g
#apt로 설치 시 보통 구버전이 설치되므로, npm을 업그레이드 해준다.
...중략
root@DESKTOP-RJ31OF5:/home/ubuntu/lg/server# source /etc/environment
#변경된 환경변수를 재적용
...중략
root@DESKTOP-RJ31OF5:/home/ubuntu/lg/server# npm -v
3. npm 실행해보기
- 또 다른 에러가 나오긴 하였으나 성공적으로 npm 명령어가 실행되는 것을 알 수 있다.
- 에러내용
Error: EACCES: permission denied, access '/home/ubuntu/workspace/lg/server'
npm ERR! { [Error: EACCES: permission denied, access '/home/ubuntu/workspace/lg/server']
npm ERR! stack:
npm ERR! 'Error: EACCES: permission denied, access \'/home/ubuntu/workspace/lg/server\'',
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'access',
npm ERR! path: '/home/ubuntu/workspace/lg/server' }
4. 위의 permission 에러를 해결해보자
- $ ls -la 명령어를 통하여 확인해보니 소유자와 소유그룹이 root로 되어있음을 확인
- $ sudo chown -R {소유자:소유그룹} {적용할 디렉토리 경로} 명령어로 ubuntu(user계정이름)로 변경
5. npm 실행해보기
- 성공적으로 의존성 모듈이 설치되었다!
-끝-