我在Visual Studio中使用gulp在Windows上构建sass文件。这使用了具有64位和32位绑定的libsass。
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位软件包。
答案 0 :(得分:6)
您可以将Visual Studio配置为始终转到您自己的本地节点安装,而不是混合64和32版本。
在Visual Studio中:转到工具>选项>项目和解决方案>外部网络工具并将$(PATH)
移到$(DevEnvDir)\Extensions\Microsoft\Web Tools\External
之上。现在VS将调用本地安装的节点。
答案 1 :(得分:1)
可能有用的解决方法是将所需的binding.node文件复制到适当命名的文件夹中。 binding.node文件可以在node-sass releases page 上下载。
如果你将一个带有binding.node名称的子文件夹添加到vendor文件夹,然后粘贴binding.node文件(将其重命名为使用此名称),那么应该在需要时找到它。