节点 0.12.2 上的节点 sass 2.1.1:找不到“libsass”绑定。尝试重新安装 `node-sass`
Posted
技术标签:
【中文标题】节点 0.12.2 上的节点 sass 2.1.1:找不到“libsass”绑定。尝试重新安装 `node-sass`【英文标题】:node-sass 2.1.1 on node 0.12.2: `libsass` bindings not found. Try reinstalling `node-sass` 【发布时间】:2015-07-15 19:48:36 【问题描述】:我知道这可能与这些重复: 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】:我找到了解决方法,而不是使用 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 重建实际所做的任何事情发生冲突。
【讨论】:
以上是关于节点 0.12.2 上的节点 sass 2.1.1:找不到“libsass”绑定。尝试重新安装 `node-sass`的主要内容,如果未能解决你的问题,请参考以下文章