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

node-sass가 오류로 계속 실패하기 때문에 앱 빌드에 문제가 있습니다.

바인딩 누락 오류 /Users/warren/Sites/random-docs/my-cms/node_modules/node-sass/vendor/darwin-x64-11/binding.node
노드 Sass가 현재 환경에 대한 바인딩을 찾을 수 없습니다 : OS X 노드 0.10.x의 64 비트

나는 달리기를 시도했다

npm rebuild node-sass

그것은 말한다

이진은 괜찮습니다. 종료.

실행할 때 node -vv6.2.2를 얻습니다.

sass 오류가 “노드 0.10.x”라고 말하는 것과 다릅니다. 왜 잘못된 버전을 얻는 지 알 수 없습니다. 또한 node_modules 폴더를 제거하고 npm update 또는 npm install을 실행하여 문제를 해결하지 못했습니다. 어떤 아이디어?



답변

나는 같은 문제가 있었다

gulpfile에 오류가 있습니다.
오류 : 바인딩 누락 E : \ allapp \ badshaindiancuisine \ node_module \ node-sass \ vendor \ win32-x64-46 \ binding.node
Node Sass에서 현재 환경에 대한 바인딩을 찾을 수 없습니다. Node.js 4.x의 비트

다음 환경에 대한 바인딩 발견 :
    -Node.js 4.x가있는 OS X 64 비트

내 문제를 해결하는 방법

프로젝트 폴더로 이동하여 다음을 실행하십시오.

npm rebuild node-sass


답변

참고 저는 VS 2015, 64 비트 Windows 7을 사용하고 있습니다.

VS 2017 및 VS 2019에서도 작동합니다 (답장부터이 게시물까지)

작업 러너 탐색기에서 작업을로드 할 수 없습니다

VS 2015

  • 도구> 옵션> 프로젝트 및 솔루션> 외부 웹 도구로 이동하십시오.

VS 2017 (.3)

  • 도구> 옵션> 프로젝트 및 솔루션> 웹 패키지 관리> 외부 웹 도구 (@nothrow 당)

VS 2017 및 2019에서는 $ (PATH)를 $ (VSINSTALLERDIR) \ Web \ External 위에 두어야합니다.


  • $ (PATH)가 $ (DevEnvDir) \ Extensions \ Microsoft \ Web Tools \ External을 초과하도록 재정렬하십시오.

여기에 이미지 설명을 입력하십시오


삭제 node_modules및 실행 npm installnpm rebuild node-sass 아무 작업도 수행하지 않았습니다 .


답변

Windows 환경에서 다음과 같은 오류가 발생하여 동일한 문제가 발생했습니다.

오류 : 바인딩 C : \ Development {ProjectName} \ node_modules \ node-sass \ vendor \ win32-ia32-47 \ binding.node를
찾을 수 없습니다. Node Sass가 현재 환경에 대한 바인딩을 찾을 수 없습니다 : Node.js가있는 Windows 32 비트 5 .x
다음 환경에 대한 바인딩 발견 :
   -Node.js 6.x가있는 Windows 64 비트

의 없음 npm여기에 다른 답변 (에 나열된 명령 npm install, npm rebuild node-sass등) 작동하지 않습니다.

대신 누락 된 바인딩을 다운로드하여 적절한 대상 폴더에 배치해야했습니다.

바인딩은 git 에서 찾을 수 있습니다 . /node_modules/node-sass/vendor/오류 메시지에서 식별 된 폴더 이름과 파일을 일치시킵니다 (이 경우 ‘darwin-x64-11’이므로 darwin-x64-11_binding.node파일을 원할 것입니다 ).

프로젝트에서 누락 된 폴더를 생성하고 ( /node_modules/node-sass/vendor/darwin-x64-11) .node파일을 새 디렉토리에 복사 한 후 이름을 바꿉니다.binding.node .

노드 release 릴리스 URL :
https://github.com/sass/node-sass/releases


답변

나를 위해 일했다 :

node-sass 폴더를 삭제하고를 실행하십시오 npm install.


답변

그냥 실행하십시오 : npm rebuild node-sass --force


어떤 이유로 든 위의 방법으로 문제가 해결되지 않으면 다음을 시도하십시오.

  1. node-sass아래 폴더 삭제node_modules
  2. npm install

내 경우에는 또한 찾을 수 없습니다 Python.

다음 절차로 문제가 해결되었습니다 (Windows).

npm rebuild node-sass --force
-- cannot find python.exe, if you have Python installed, add it to your path:
set PYTHON=C:\Python27\Python.exe
-- else: download python "Windows x86-64-MSI" installer from https://www.python.org/downloads/release/python-2714/
-- install python
-- at installation start check: add env variable to path
-- after successfull installation:
npm rebuild node-sass --force
-- finished successfully


답변

npm rebuild node-sass --force

또는 컨테이너 내에서 node-sass를 사용하는 경우 :

docker exec <container-id> npm rebuild node-sass --force

이 오류는 node-sass에 현재 운영 체제에 대한 올바른 바인딩이없는 경우에 발생합니다.

Docker를 사용하는 경우이 오류는 일반적으로 node_modulesDockerfile의 컨테이너 파일 시스템에 직접 추가 하거나 Docker 볼륨을 사용하여 마운트 할 때 발생 합니다.

컨테이너 아키텍처는 현재 운영 체제와 다를 수 있습니다. 예를 들어, macOS에 node-sass를 설치했지만 컨테이너가 Ubuntu를 실행합니다.

컨테이너 내에서 node-sass를 강제로 다시 빌드하면 node-sass가 컨테이너 운영 체제에 대한 올바른 바인딩을 다운로드합니다.

참조 내 생식 경우 를 .


답변

비슷한 문제가 있었는데 그 이유는 내 컴퓨터에 두 개의 버전의 노드가 설치 되었기 때문입니다. 하나는 “글로벌”버전이고 다른 하나는 프로젝트 수준입니다. Gulp 빌드가 Node.js 4.x 버전에서 실행중인 경우에만 Sass가 올바르게 빌드되므로 사용중인 노드 버전을 업그레이드해야합니다.

추신 : 프로젝트에서 node_modules 폴더 를 완전히 제거하고 처음부터 다시 빌드하면 npm은 현재 시스템 및 노드 버전에 대한 올바른 종속성을 다운로드합니다.