节点0.12.2上的node-sass 2.1.1:找不到`libsass`绑定。尝试重新安装`node-sass`

时间:2015-05-05 21:44:53

标签: node.js sass npm node-sass

我知道这似乎与这些重复: Try reinstalling `node-sass` on node 0.12?how to uninstall npm modules in node js?

我们团队的环境如下:

<bitbucket git repo>
    /sourcetree\
<local windows/mac machines>
    \rsync to server/
<ubuntu 14.04 dev server>
     <vhost for each dev via proxy pass to rel. port>

我们更喜欢通过package.json文件处理所有模块,更容易设置新的开发机器..只是一个简单的npm install

问题是这个..当node-sass通过npm install下拉到本地Windows机器然后同步到开发服务器时我们一直收到错误:

  

错误:找不到libsass绑定。请尝试重新安装node-sass

但是当在服务器上重建模块时,一切都很好:s。因为,在ubuntu服务器上运行:

npm rebuild node-sass

但后来obv。当来自开发机器的文件集同步到服务器时,这将擦除重建的文件,我们又重新出现错误。

当我们尝试在同步到服务器之前在本地计算机上运行重建时,这不能解决任何问题。

虽然我们可以在rsync命令中排除node-sass,但这意味着我们在设置开发机器时会出现不一致。

1 个答案:

答案 0 :(得分:0)

我找到了一个解决方法,而不是使用node-sass我找到了node-sass-middleware

https://github.com/sass/node-sass-middleware

app.use('/css', sassMiddleware({
    src: __dirname + '/sass',
    dest: __dirname + '/public/css',
    debug: true,
    outputStyle: 'expanded' /*'compressed',*/
}));

但我仍然需要运行

npm rebuild node-sass

在rsync命令中添加一个--exclude标志,这会阻止节点中间件模块中的node-sass目录弄乱npm rebuild实际执行的操作。