[Node.js] node-sass 에러 - npm ERR! path /node_modules/node-sass
2022. 1. 10. 09:37ㆍFrontend
반응형
기존에 작업 중이던 프로젝트 코드를 로컬에서 구동하던 중
모듈 install 단계에서부터 에러가 발생되어 트러블 슈팅했던 내용을 정리해본다.
늘 그렇듯이 결론부터 말하자면
node-sass 버전이 설치된 node 버전과 상이한 버전이 설치되어 발생되는 이슈다.
해당 프로젝트의 경우 yarn도 사용했었으니 참고!
원인
내 PC에 설치된 node와 node-sass 모듈의 버전은 아래와 같았다.
# 현재 노드 버전 - stable version은 현재 기준 16.13.1이다.
node -v ✔ 09:27:05
v16.13.0
# 구버전 설치됨
npm list | grep node-sass 1 ✘ 27s 09:24:23
├── node-sass@4.14.1
아래 공식문서 내용 처럼 나의 경우 Node 16을 사용하고 있으니 node-sass는 6.0+ 이상의 버전이 필요하다.
해결
node-sass를 삭제하고 새 버전으로 설치해주자.
유의 사항은 yarn 사용시 yarn도 함께 삭제 후 재 설치해주어야 한다!
# node-sass 모듈 삭제
npm uninstall node-sass
yarn remove node-sass
# 재설치
npm install -D node-sass
yarn add -D node-sass
# 버전 확인
npm list | grep node-sass ✔ 8s 09:33:06
├── node-sass@7.0.1
이후에 yarn install 해주니깐 잘 설치되었다 ☺️
로그 내용
아래는 문제 시 발생했던 로그 내용이다.
npm install 시 에러 로그
npm ERR! code 1
npm ERR! path [프로젝트 경로]/node_modules/node-sass
npm ERR! command failed
npm ERR! command sh -c node scripts/build.js
npm ERR! Building: /usr/local/bin/node [프로젝트 경로]/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
npm ERR! gyp info it worked if it ends with ok
npm ERR! gyp verb cli [
npm ERR! gyp verb cli '/usr/local/bin/node',
npm ERR! gyp verb cli '[프로젝트 경로]/node_modules/node-gyp/bin/node-gyp.js',
npm ERR! gyp verb cli 'rebuild',
npm ERR! gyp verb cli '--verbose',
npm ERR! gyp verb cli '--libsass_ext=',
npm ERR! gyp verb cli '--libsass_cflags=',
npm ERR! gyp verb cli '--libsass_ldflags=',
npm ERR! gyp verb cli '--libsass_library='
npm ERR! gyp verb cli ]
npm ERR! gyp info using node-gyp@3.8.0
npm ERR! gyp info using node@16.13.0 | darwin | x64
npm ERR! gyp verb command rebuild []
npm ERR! gyp verb command clean []
npm ERR! gyp verb clean removing "build" directory
npm ERR! gyp verb command configure []
npm ERR! gyp verb check python checking for Python executable "python2" in the PATH
npm ERR! gyp verb `which` succeeded python2 /usr/bin/python2
npm ERR! gyp verb check python version `/usr/bin/python2 -c "import sys; print "2.7.18
npm ERR! gyp verb check python version .%s.%s" % sys.version_info[:3];"` returned: %j
npm ERR! gyp verb get node dir no --target version specified, falling back to host node version: 16.13.0
npm ERR! gyp verb command install [ '16.13.0' ]
npm ERR! gyp verb install input version string "16.13.0"
npm ERR! gyp verb install installing version: 16.13.0
npm ERR! gyp verb install --ensure was passed, so won't reinstall if already installed
npm ERR! gyp verb install version is already installed, need to check "installVersion"
npm ERR! gyp verb got "installVersion" 9
npm ERR! gyp verb needs "installVersion" 9
npm ERR! gyp verb install version is good
npm ERR! gyp verb get node dir target node version installed: 16.13.0
npm ERR! gyp verb build dir attempting to create "build" dir: [프로젝트 경로]/node_modules/node-sass/build
npm ERR! gyp verb build dir "build" dir needed to be created? [프로젝트 경로]/node_modules/node-sass/build
npm ERR! gyp verb build/config.gypi creating config file
npm ERR! gyp verb build/config.gypi writing out config file: [프로젝트 경로]/node_modules/node-sass/build/config.gypi
npm ERR! (node:5986) [DEP0150] DeprecationWarning: Setting process.config is deprecated. In the future the property will be read-only.
npm ERR! (Use `node --trace-deprecation ...` to show where the warning was created)
npm ERR! gyp verb config.gypi checking for gypi file: [프로젝트 경로]/node_modules/node-sass/config.gypi
npm ERR! gyp verb common.gypi checking for gypi file: [프로젝트 경로]/node_modules/node-sass/common.gypi
npm ERR! gyp verb gyp gyp format was not specified; forcing "make"
npm ERR! gyp info spawn /usr/bin/python2
npm ERR! gyp info spawn args [
npm ERR! gyp info spawn args '[프로젝트 경로]/node_modules/node-gyp/gyp/gyp_main.py',
npm ERR! gyp info spawn args 'binding.gyp',
npm ERR! gyp info spawn args '-f',
npm ERR! gyp info spawn args 'make',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '[프로젝트 경로]/node_modules/node-sass/build/config.gypi',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '[프로젝트 경로]/node_modules/node-gyp/addon.gypi',
npm ERR! gyp info spawn args '-I',
npm ERR! gyp info spawn args '/Users/[유저 네임]/.node-gyp/16.13.0/include/node/common.gypi',
npm ERR! gyp info spawn args '-Dlibrary=shared_library',
npm ERR! gyp info spawn args '-Dvisibility=default',
npm ERR! gyp info spawn args '-Dnode_root_dir=/Users/[유저 네임]/.node-gyp/16.13.0',
npm ERR! gyp info spawn args '-Dnode_gyp_dir=[프로젝트 경로]/node_modules/node-gyp',
npm ERR! gyp info spawn args '-Dnode_lib_file=/Users/[유저 네임]/.node-gyp/16.13.0/<(target_arch)/node.lib',
npm ERR! gyp info spawn args '-Dmodule_root_dir=[프로젝트 경로]/node_modules/node-sass',
npm ERR! gyp info spawn args '-Dnode_engine=v8',
npm ERR! gyp info spawn args '--depth=.',
npm ERR! gyp info spawn args '--no-parallel',
npm ERR! gyp info spawn args '--generator-output',
npm ERR! gyp info spawn args 'build',
npm ERR! gyp info spawn args '-Goutput_dir=.'
npm ERR! gyp info spawn args ]
npm ERR! No receipt for 'com.apple.pkg.CLTools_Executables' found at '/'.
npm ERR!
npm ERR! No receipt for 'com.apple.pkg.DeveloperToolsCLILeo' found at '/'.
npm ERR!
npm ERR! No receipt for 'com.apple.pkg.DeveloperToolsCLI' found at '/'.
npm ERR!
npm ERR! gyp: No Xcode or CLT version detected!
npm ERR! gyp ERR! configure error
npm ERR! gyp ERR! stack Error: `gyp` failed with exit code: 1
npm ERR! gyp ERR! stack at ChildProcess.onCpExit ([프로젝트 경로]/node_modules/node-gyp/lib/configure.js:345:16)
npm ERR! gyp ERR! stack at ChildProcess.emit (node:events:390:28)
npm ERR! gyp ERR! stack at Process.ChildProcess._handle.onexit (node:internal/child_process:290:12)
npm ERR! gyp ERR! System Darwin 21.2.0
npm ERR! gyp ERR! command "/usr/local/bin/node" "[프로젝트 경로]/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
npm ERR! gyp ERR! cwd [프로젝트 경로]/node_modules/node-sass
npm ERR! gyp ERR! node -v v16.13.0
npm ERR! gyp ERR! node-gyp -v v3.8.0
npm ERR! gyp ERR! not ok
npm ERR! Build failed with error code: 1
npm ERR! A complete log of this run can be found in:
npm ERR! /Users/[유저 네임]/.npm/_logs/2022-01-10T00_14_29_988Z-debug.log
yarn install시 에러 로그
error [프로젝트 경로]/node_modules/node-sass: Command failed.
Exit code: 1
Command: node scripts/build.js
Arguments:
Directory: [프로젝트 경로]/node_modules/node-sass
Output:
Building: /usr/local/bin/node [프로젝트 경로]/node_modules/node-gyp/bin/node-gyp.js rebuild --verbose --libsass_ext= --libsass_cflags= --libsass_ldflags= --libsass_library=
gyp info it worked if it ends with ok
gyp verb cli [
gyp verb cli '/usr/local/bin/node',
gyp verb cli '[프로젝트 경로]/node_modules/node-gyp/bin/node-gyp.js',
gyp verb cli 'rebuild',
gyp verb cli '--verbose',
gyp verb cli '--libsass_ext=',
gyp verb cli '--libsass_cflags=',
gyp verb cli '--libsass_ldflags=',
gyp verb cli '--libsass_library='
gyp verb cli ]
gyp info using node-gyp@3.8.0
gyp info using node@16.13.0 | darwin | x64
gyp verb command rebuild []
gyp verb command clean []
gyp verb clean removing "build" directory
gyp verb command configure []
gyp verb check python checking for Python executable "/usr/local/opt/python@3.9/bin/python3" in the PATH
gyp verb `which` succeeded /usr/local/opt/python@3.9/bin/python3 /usr/local/opt/python@3.9/bin/python3
gyp ERR! configure error
gyp ERR! stack Error: Command failed: /usr/local/opt/python@3.9/bin/python3 -c import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack File "<string>", line 1
gyp ERR! stack import sys; print "%s.%s.%s" % sys.version_info[:3];
gyp ERR! stack ^
gyp ERR! stack SyntaxError: invalid syntax
gyp ERR! stack
gyp ERR! stack at ChildProcess.exithandler (node:child_process:397:12)
gyp ERR! stack at ChildProcess.emit (node:events:390:28)
gyp ERR! stack at maybeClose (node:internal/child_process:1064:16)
gyp ERR! stack at Socket.<anonymous> (node:internal/child_process:450:11)
gyp ERR! stack at Socket.emit (node:events:390:28)
gyp ERR! stack at Pipe.<anonymous> (node:net:687:12)
gyp ERR! System Darwin 21.2.0
gyp ERR! command "/usr/local/bin/node" "[프로젝트 경로]/node_modules/node-gyp/bin/node-gyp.js" "rebuild" "--verbose" "--libsass_ext=" "--libsass_cflags=" "--libsass_ldflags=" "--libsass_library="
gyp ERR! cwd [프로젝트 경로]/node_modules/node-sass
gyp ERR! node -v v16.13.0
gyp ERR! node-gyp -v v3.8.0
참고로 yarn, npm 전체 설정되어 있는데 npm만 지울 경우 아래와 같은 에러가 발생된다.
Syntax Error: Error: Node Sass version 7.0.1 is incompatible with ^4.0.0.
반응형