Node Sass가 현재 환경에 대한 바인딩을 찾을 수 없습니다.

Waqar Aslam 2023년6월20일
  1. Node Sass가 현재 환경에 대한 바인딩을 찾을 수 없습니다는 무엇입니까?
  2. Node Sass가 현재 환경에 대한 바인딩을 찾을 수 없습니다의 원인
  3. Node Sass가 현재 환경에 대한 바인딩을 찾을 수 없습니다에 대한 솔루션
Node Sass가 현재 환경에 대한 바인딩을 찾을 수 없습니다.

이 강의에서는 Node Sass가 현재 환경에 대한 바인딩을 찾을 수 없습니다 문제에 대한 해결책을 배웁니다. 그러나 시작하기 전에 문제의 본질을 파악해야 합니다.

Node Sass가 현재 환경에 대한 바인딩을 찾을 수 없습니다는 무엇입니까?

nvm과 같은 노드 버전 관리자를 사용하는 경우 때때로 npm 모듈 경로 중 일부와 충돌하여 현재 사용 중인 버전과 다른 버전을 사용하려고 시도할 수 있습니다.

Node Sass가 현재 환경에 대한 바인딩을 찾을 수 없습니다의 원인

다음은 오류가 발생할 수 있는 이유의 예입니다.

  1. 단일 컴퓨터에 하나가 아닌 두 개의 서로 다른 버전의 Node(글로벌 및 프로젝트별 버전)가 설치되어 있을 수 있기 때문입니다. Node.js 4.x 버전을 사용하는 동안 Gulp 빌드가 실행되면 Sass 파일이 적절하게 컴파일됩니다.

    C:Program Files (x86)\nodejs로 이동하여 VS 기본 설치 외에 node.js 버전이 있는지 확인하십시오. 두 가지 다른 버전의 Node.js가 설치되어 있을 수 있습니다.

  2. 이 문제는 node-sass에 현재 사용 중인 운영 체제에 대한 적절한 바인딩이 없을 때 나타납니다. 이 문제는 Docker를 사용하고 Dockerfile의 컨테이너 파일 시스템에 노드 모듈을 직접 추가하거나 Docker 볼륨을 사용하여 마운트할 때 자주 발생합니다.

    이 두 가지 방법은 모두 이전 문장에 설명되어 있습니다. 컨테이너의 아키텍처가 기존 운영 체제의 아키텍처와 다를 가능성이 큽니다.

    예를 들어 node-sassmacOS에 설치되지만 머신 컨테이너의 운영 체제는 Ubuntu입니다.

  3. node-sass 노드 모듈이 사용하는 노드 버전은 사용하는 darwin 바이너리 파일에 의해 결정됩니다. 이 문제는 바이너리 파일이 다운로드되지 않았거나 잘못된 바이너리 파일이 다운로드되었기 때문에 발생합니다.

  4. 컴퓨터에서 /.npm/.node-gyp 폴더를 삭제하지 않은 경우 이 문제가 발생할 수 있습니다. 이는 /.node-gyp 폴더에 포함된 노드 버전이 컴퓨터의 다른 위치에 설치된 노드 버전과 다를 수 있기 때문입니다.

  5. 다른 경우에는 Task Runner 탐색기가 우리 프로젝트의 문제를 해결하는 것을 목표로 하기 때문에 이 문제를 일으킨 책임이 있습니다. 드롭다운 목록을 사용하여 프로젝트로 이동하면 Task Runner 탐색기 옆에 있는 새로 고침 버튼에 해당 작업이 표시됩니다.

Node Sass가 현재 환경에 대한 바인딩을 찾을 수 없습니다에 대한 솔루션

다음은 주어진 오류에 대해 가능한 해결 방법입니다.

맥OS용

  • CMD+SHIFT+G
  • /usr/local/lib/node-sass
  • 마우스 오른쪽 버튼을 클릭하고 이름을 바꿉니다(여전히 동일한 node-sass여야 함).
  • 그런 다음 npm install node-sass -g 명령을 실행합니다.

마이크로소프트 비주얼 스튜디오용

  1. 비주얼 스튜디오 2015:

    다음 단계를 따르십시오. 도구 > 옵션 > 프로젝트 및 솔루션 > 외부 웹 도구

  2. 비주얼 스튜디오 2017, 2019, 2022

    • 도구 > 옵션 > 프로젝트 및 솔루션 > 웹 패키지 관리 > 외부 웹 도구
    • 재정렬 경로 $(DevEnvDir)\Extensions\Microsoft\Web Tools\External.
    • node module 폴더를 삭제한 다음 npm rebuild node-sass를 실행합니다.

윈도우용

노드 모듈을 다시 설치하면 node-sass의 예상 바이너리가 다운로드됩니다. 일부 사용자의 경우 노드 버전이 node-sass 버전과 호환되는지 확인해야 합니다.

rmdir node_modules
npm cache clean --force
npm i
npm rebuild node-sass --force

도커용

  • .dockerignore를 추가하고 내부에 node_modules를 추가합니다.
  • docker 환경에 대한 바인딩은 로컬 컴퓨터 환경에 대한 바인딩이 아닌 npm install 중에 설치됩니다.

2개 버전 설치 시

  • 도구 > 옵션 > 프로젝트 및 솔루션 > 웹 패키지 관리 > 외부 웹 도구로 이동합니다.
  • 새 항목을 추가하려면 버튼 블록의 오른쪽 상단 모서리에 있는 버튼을 사용하십시오.
  • C:\Program Files (x86)\nodejs를 입력하고 Enter를 눌러 확인합니다.
  • 우선 순위 목록 맨 위에 두십시오.

누락된 바인딩

해결 방법은 다음과 같습니다.

  • 누락된 바인딩 파일을 다운로드합니다.
  • 파일 이름을 binding.node로 바꿉니다.
  • 존재하지 않는 경우 node_modules/node-sass/vendor/darwin-x64-11(오류 메시지의 경로) 디렉토리를 생성합니다.
  • node_modules/node-sass/vendor/darwin-x64-11에 바인딩 파일을 추가합니다.
작가: Waqar Aslam
Waqar Aslam avatar Waqar Aslam avatar

I am Waqar having 5+ years of software engineering experience. I have been in the industry as a javascript web and mobile developer for 3 years working with multiple frameworks such as nodejs, react js, react native, Ionic, and angular js. After which I Switched to flutter mobile development. I have 2 years of experience building android and ios apps with flutter. For the backend, I have experience with rest APIs, Aws, and firebase. I have also written articles related to problem-solving and best practices in C, C++, Javascript, C#, and power shell.

LinkedIn

관련 문장 - Node.js Error