我有问题构建一个应用程序,因为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_modules,然后从IDE恢复包,然后npm重建node-sass

其他回答

对我来说,是maven-war-plugin对文件应用了过滤器,损坏了woff文件。

<plugin>
<artifactId>maven-war-plugin</artifactId>
<configuration>
    <webResources>
        <resource>
            <directory>dist</directory>
            <filtering>true</filtering>
        </resource>
    </webResources>
</configuration>

真正删除<过滤> < /过滤>

或者如果你需要过滤,你可以这样做:

<plugin>
    <artifactId>maven-war-plugin</artifactId>
    <configuration>
        <webResources>
            <resource>
                <directory>dist</directory>
                <excludes>
                    <exclude>assets/**/*</exclude>
                </excludes>
                <filtering>true</filtering>
            </resource>
            <resource>
                <directory>dist</directory>
                <includes>
                    <include>assets/**/*</include>
                </includes>
            </resource>
        </webResources>
    </configuration>
</plugin>

我也有同样的问题

    throw new Error(errors.missingBinary());
    ^

Error: Missing binding /path/to/project/node_modules/node-sass/vendor/linux-x64-47/binding.node
Node Sass could not find a binding for your current environment: Linux 64-bit with Node.js 5.x

Found bindings for the following environments:
  - Linux 64-bit with Node 0.10.x
  - Linux 64-bit with Node.js 5.x

这是因为我用不同的nodejs版本安装了npm, 尝试删除node_modules文件夹安装和启动

cd your_project
rm -rf node_modules
npm install
npm start or gulp or whatever

如果你正在使用nvm do

nvm use stable // or your favorite version
// remove node_module directory
npm install
npm start or gulp or whatever

对我有用:

只需删除node-sass文件夹并运行npm install。

当你在工作站上运行Node.js的更新并且全局使用node-sass时,就会发生这种情况。

因此,您应该全局卸载node-sass

npm uninstall -g node-sass

然后你必须再次全局安装它

npm install -g node-sass

我也有同样的问题。我在这里找不到任何合适的解决方案,所以我找到了自己的:

受到@ robb - scott解决方案和其他建议的启发,我们可以安装两个版本的Node.js,我去了C:\Program Files (x86)\nodejs,发现除了VS默认安装之外,我还安装了一个Node.js版本。

我的解决办法很简单:

进入工具>选项>项目和解决方案> Web包管理>外部Web工具 单击添加一个条目(右上角按钮块的最左边) 输入C:\Program Files (x86)\ nodejs,按Enter确认 把它放在清单的最上面 享受

可能Node.js在PATH变量中没有设置好,但这是我的工作非常快速的解决方案,我的2美分:)