我有一个使用节点npm和gulp的项目。当我们构建项目时,节点5安装在本地目录中并运行npm install(再次编译所有节点模块节点v5)我全局安装了节点版本7.
我们有一个gulp任务使用node-sass,它是针对v5编译的,但当我尝试运行任务时,它使用全局版本和node-sass错误输出“Missing binding”
如何使用本地版本的节点运行它?
答案 0 :(得分:0)
如果您希望自动化它,您可以添加控制台命令,以便在您的gulp任务中通过nvm使用所需的版本。 例如“nvm install v5.0.0”
答案 1 :(得分:0)
要扩展@dmfay的答案,您应该安装节点5(通过nvm或tj' s n)。
但是,您可以在package.json中包含项目,使其依赖于节点5.(在"引擎"属性下)
答案 2 :(得分:0)
没有一个安装/重建解决方案(使用gulp)为我解决了该问题。
这是我的解决方法:
1)从repository下载丢失的绑定文件。
2)重命名文件binding.node
。
3)创建/node-modules/vendor/<operating system>/
(对于我的node / node-sass版本,Linux的<operating system>
目录是linux-x64-64
,请使用缺少的绑定错误消息中的文件夹名称)
4)将binding.node
文件添加到/node-modules/vendor/<operating system>/
。
5)运行gulp