我有问题构建一个应用程序,因为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,这两者都没有解决问题。什么好主意吗?


当前回答

node-sass runs an install script to download the required binary. If there are no environment variables, .npmrc variables or process arguments set then the binary is determined by using the current process platform, architecture and Node ABI version. Therefore, if you run node install in one application and then try to run node-sass in an application with a different platform/architecture/ABI, the binary won't have been downloaded. The solution is to manually download the binary or to fix the binary version using an environment variable (SASS_BINARY_NAME) or a .npmrc variable (sass_binary_name)

你可以在node-sass\lib\extensions.js中的getBinaryPath函数中看到这个逻辑

其他回答

我尝试了上面所有的方法,没有任何效果,我试图将节点版本匹配到node-sass版本,当我决定去node.js官方网站,下载最新的节点版本(目前是v14,我在v12)并安装它。这终于解决了我的问题!你的node-sass版本可能比node.js版本超前。

运行以下命令,它对我来说工作得很好。

安装NPM node-sass

NPM重建node-sass

NVM使用10.16.3

node_modules node-sass /只/节点安装js。

Ng发球——投票=2000

Mac:

- cmd + SHIFT + G ——/ usr /地方/ lib / node-sass -右击并重命名:应该仍然是相同的node-sass -然后执行NPM install node-sass -g

固定。

在构建docker映像并试图在本地运行时,我遇到了同样的问题。你需要添加一个.dockerignore文件,内容如下: .DS_Store . .gitignore .idea 日志/ * 目标 tmp node_modules 客户端/ node_modules 规范/内部/公共资产 公共/资产

我在从VS 2017专业版升级到企业版时遇到了这个问题

密切与 删除node_modules 开放和 右键单击包。Json,然后选择“restore packages”