我有问题构建一个应用程序,因为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,这两者都没有解决问题。什么好主意吗?
当我试图在MacOS上的docker中使用node-sass时,我得到了这个错误,这里的解决方案都不起作用。
发生错误是因为我在试图构建docker镜像之前进行了npm安装。npm安装正确地将node-sass的MacOS版本拉到我的node_modules中,然后我将node_modules复制到运行Linux的docker镜像中。这个失败是因为它不能在Linux上运行node-sass的MacOS版本。
在我的情况下,解决方案是在npm安装步骤后添加这个到我的makefile:
docker-compose run --rm --entrypoint "bash -c" mydockerimage "npm rebuild node-sass"
我在本地运行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.js安装?
如果通过nodejs安装node,默认安装目录为
C:\Program Files\nodejs
我的节点版本是6。Xx安装在这里。
检查VS External web tools目录
C:\Program Files (x86)\Microsoft Visual Studio\2017\企业\Web\External
我的节点版本是5。Xx安装在那里。
一种解决方法是:
备份C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Web\External目录。
复制C:\Program Files\nodejs目录内容和
粘贴到
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Web\外部目录。
从解决方案中删除node_modules目录。
重新运行项目。
如果您得到错误消息,请重新运行项目第二次。
如果这样不行的话
从解决方案中删除node_modules目录。
注意:$是命令提示符
$ npm install
…
$ npm run build:dev
重新运行项目。
我在Windows环境中遇到了同样的问题,收到以下错误:
C:\Development{ProjectName}\node_modules\node-sass\vendor\win32-ia32-47\binding.node
Node Sass无法找到当前环境的绑定:Windows 32位,带有Node.js 5.x
为以下环境找到绑定:
—Windows 64位,Node.js 6.x
这里其他答案中列出的npm命令(npm install, npm rebuild node-sass等)都不起作用。
相反,我必须下载缺失的绑定,并将其放在适当的目标文件夹中。
可以在git上找到绑定。将该文件与错误消息中/node_modules/node-sass/vendor/后面标识的文件夹名匹配(在您的示例中是'darwin-x64-11',因此您需要darwin-x64-11_binding. xml文件)。节点文件)。
在项目中创建缺少的文件夹(/node_modules/node-sass/vendor/darwin-x64-11),将.node文件复制到新目录,并将其重命名为binding.node。
Node-sass发布URL:
https://github.com/sass/node-sass/releases