2015-09-16 177 views
4

我正在使用Visual Studio的gulp在Windows上构建sass文件。这使用了具有64位和32位绑定的libsass。安装32位和64位绑定

Visual Studio在32位上下文中运行,因此安装并需要32位libsass。但是,从命令行运行msbuild时,需要64位版本的libsass。

这意味着我不断收到错误libsass bindings not found in ...\node-sass\vendor\win32-ia32-11\binding.node. Try reinstalling node-sass(或win32-x64-14从命令行建立后)。

从不同的上下文运行npm install不起作用,因为npm认为模块已经完全安装。

目前我发现的唯一解决方案是不断删除整个node_modules文件夹,并每次重新安装所有软件包。

理想情况下,我想同时安装32位和64位软件包。

回答

5

而不是混合64和32版本,您可以将Visual Studio配置为始终转到您自己的本地节点安装。

在Visual Studio中:转至工具>选项>项目和解决方案>外部Web工具并移动$(PATH)以上$(DevEnvDir)\Extensions\Microsoft\Web Tools\External。现在VS会调用你本地的节点安装。

+1

这工作!非常感谢!请注意,您应该将您的答案更新为:工具>选项>项目和解决方案>外部Web工具。 –

1

可能有帮助的解决方法是将所需的binding.node文件复制到适当命名的文件夹中。 binding.node文件可以在node-sass releases page上下载。

如果您添加一个子文件夹,将binding.node的名称添加到供应商文件夹,然后在其中粘贴binding.node文件(将其重命名为使用此名称),然后在需要时找到它。