我有问题构建一个应用程序,因为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

其他回答

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函数中看到这个逻辑


**只需执行:** npm rebuild node-sass——force



If the above for some reason didn't work out for you, try this:

删除“node_modules”下的“node-sass”文件夹 npm安装


在我的例子中,它也找不到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

对于那些从系统节点切换到nvm的用户,如果您还没有删除~/。NPM和~/。node-gyp文件夹可能会出现此问题,因为可能节点版本在~/。Node-gyp可能不同。

在任何情况下,这些文件夹都应该删除。

我也有同样的问题

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

对我来说,是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>