使用gulp和node-sass运行与全局不同的本地节点verison

时间:2016-12-07 20:37:31

标签: node.js npm node-sass

我有一个使用节点npm和gulp的项目。当我们构建项目时,节点5安装在本地目录中并运行npm install(再次编译所有节点模块节点v5​​)我全局安装了节点版本7.

我们有一个gulp任务使用node-sass,它是针对v5编译的,但当我尝试运行任务时,它使用全局版本和node-sass错误输出“Missing binding”

如何使用本地版本的节点运行它?

3 个答案:

答案 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