본문 바로가기
Programming & Platform/JavaScript

JavaScript yarn SyntaxError: missing ) after argument list 해결

by 코드스니펫 2023. 12. 7.
반응형

JavaScript yarn SyntaxError: missing ) after argument list 해결

 

javascript logo

 

초보자부터 숙련된 개발자까지, JavaScript 환경에서 종종 마주치는 문제 중 하나는 프로젝트 설정 및 의존성 관리입니다. 최근 Node.js의 실험적인 기능을 활용하는 프로젝트에서는 더욱 주의가 필요했었습니다. Yarn 테스트에서 발생한 SyntaxError 문제를 해결하기 위한 간단한 조치 방법을 살펴보겠습니다.

 

 

SyntaxError: missing ) after argument list

 

1. 문제의 발견과 원인 분석

 

문제를 발견한건 pakage.json 파일에 이 코드를 추가하고 나서였습니다.

 

 

"scripts": {
  "test": "node --experimental-vm-modules node_modules/.bin/jest"
}

 

위와 같이 설정하고 yarn test를 명령하더니 다음과 같은 오류를 접하게 되었습니다.

 

basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
          ^^^^^^^
SyntaxError: missing ) after argument list

 

원인을 찾아보니 이 스크립트에서 발생한 문제는 셸 스크립트 내에서 $(dirname ...) 표현식에 기인한 것으로 보였습니다. 이것은 플랫폼 간 호환성 문제를 야기할 수 있습니다.

 

 

2. 간단하고 확실한 해결책

이 문제는 간단한 수정으로 문제를 해결할 수 있습니다. node_modules/.bin 디렉토리 대신에 node_modules/jest/bin/jest.js를 직접 참조하는 것으로 변경했습니다.

 

 

"scripts": {
  "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js"
}

 

이렇게 하여 셸 스크립트에서의 문제를 우회할 수 있습니다.

 

 

3. 스크립트 작성의 간결화를 위해

 

프로젝트 설정이나 스크립트 작성 시에는 간결하고 직관적인 표현을 지향하는 것이 중요합니다. 특히 실험적인 기능을 사용하는 경우, 가능한한 단순하게 유지하여 호환성과 안정성을 확보하는 것이 좋습니다.

 

예시 코드를 통해 이해를 돕기 위해, 아래는 수정된 package.json의 일부분입니다.

 

{
  "scripts": {
    "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js",
    "start": "node server.js"
  },
  // ... 기타 설정들 ...
}

 

이러한 수정을 통해 Yarn 테스트를 정상적으로 수행할 수 있을 것입니다. 코드 작성에 있어서 항상 발생하는 문제들에 대한 해결책을 찾는 데에 능숙하게 대처하는 것이 중요합니다.

 

▼ 아래 글도 읽어보세요! ▼

 

 

JavaScript 배열 메소드 find() 쉽게 배우기 - 예시 코드 제공

JavaScript 배열 메소드 find() 쉽게 배우기 - 예시 코드 제공 JavaScript에서 배열을 조작하고, 배열 내에서 원하는 조건을 충족하는 요소를 검색할 때 find() 메소드는 매우 유용한 도구입니다. 이 글에

lemonlog.tistory.com

 

 

Node.js 이상적인 프로젝트 폴더 구조

Node.js 이상적인 프로젝트 폴더 구조 Node.js 프로젝트의 이상적인 폴더 구조에 대해 이야기하려 합니다. 프로젝트의 규모와 복잡성을 고려하여 가독성과 유지보수성을 최대한 강화하는 방향으로

lemonlog.tistory.com