我有问题构建一个应用程序,因为node-sass不断失败的错误。

binding /Users/warren/Sites/random-docs/my-cms/node_modules/node-sass/vendor/darwin-x64-11/binding.node出错 Node Sass无法找到当前环境的绑定:OS X 64位的Node 0.10.x

我试过跑步

npm rebuild node-sass

二进制很好;退出。

当运行node -v时,我得到v6.2.2

这与sass错误说的“Node 0.10.x”不同。我不明白为什么它会得到错误的版本。我也尝试删除node_modules文件夹并运行npm update或npm install,这两者都没有解决问题。什么好主意吗?


当前回答

我在本地运行Docker中的一个构建时,使用一个节点alpine映像,很长一段时间都有这个问题。我用下面的代码来创建基础层:

FROM node:19.4-alpine3.17 AS node_base
RUN apk update && \
    apk add python3 make && \
    rm -rf /var/cache/apk/*

它缺少了一个包:g++。把上面的改为下面的,对我来说很管用:

FROM node:19.4-alpine3.17 AS node_base
RUN apk update && \
    apk add python3 make g++ && \
    rm -rf /var/cache/apk/*

我相信这与带有M1芯片的macbook PRO的架构有关,在其他机器上我不会遇到这个错误,但我还没有测试过。

其他回答

我在Node v7.4.0 Current(最新功能)中遇到了同样的问题。

在这里阅读了一些内容,并将Node降级为v6.9.4 LTS,在运行npm rebuild Node -sass后,它下载了二进制文件,一切都开始工作了。

从https://github.com/sass/node-sass/releases/download/v3.13.1/win32-x64-48_binding.node下载二进制文件 下载完成。 二进制文件保存到D:\xxx\xxx-xxx\node_modules\node-sass\vendor\win32-x64-48\binding.node 将二进制文件缓存到C:\Users\user\AppData\Roaming\npm-cache\node-sass\3.13.1\win32-x64-48_binding.node

试着加上后缀——force

npm rebuild node-sass --force

如果你读到这篇文章的结尾,但仍然没有工作。这可能有点傻,但试着验证一下你的文件夹中是否有以下文件:

.node-version .nvmrc

他们是事情不适合你的罪魁祸首。用节点版本更新文件,然后重新运行此线程中其他人提供的过程。它会起作用的。;)

删除/node-modules文件夹并重新安装,或者在删除后运行gradle任务deploy

/用户/沃伦/网站/ random-docs / my-cms / node_modules node-sass /供应商/ darwin-x64-11 / binding.node

它解决了你的问题。

我也有同样的问题

gulpfile中有一个错误: E:\allapp\badshaindiancuisine\node_module\node-sass\vendor\win32-x64-46\binding.node Node Sass无法找到当前环境的绑定:带有Node.js 4.x的64位Windows 为以下环境找到绑定: - OS X 64位,Node.js 4.x

如何解决这个问题

通过进入项目文件夹,然后执行命令:

npm rebuild node-sass