离子 - 不能开始吞咽

时间:2015-09-15 19:54:13

标签: css node.js gulp ionic

跑完后:

gulp

安装所有依赖项,当我尝试启动/Users/user/Sites/ionic/project/node_modules/gulp-sass/node_modules/node-sass/lib/index.js:22 throw new Error('`libsass` bindings not found. Try reinstalling `node-sass`?'); ^ Error: `libsass` bindings not found. Try reinstalling `node-sass`? 时,我遇到了此错误:

public func ==(lhs: NSDate, rhs: NSDate) -> Bool {
    return lhs === rhs || lhs.compare(rhs) == .OrderedSame
}

public func <(lhs: NSDate, rhs: NSDate) -> Bool {
    return lhs.compare(rhs) == .OrderedAscending
}

extension NSDate: Comparable { }

我试图重新安装node-sass,但到目前为止还没有成功。关于如何解决这个问题的任何想法?

谢谢!

3 个答案:

答案 0 :(得分:1)

workaround修复了所有内容。

从此设置开始:

Cordova CLI:5.3.3 Gulp版本:CLI版本3.9.0 Gulp本地:本地版本3.9.0离子版本:1.1.0 Ionic CLI版本:1.6.5 Ionic App Lib版本:0.3.9 ios -deploy版本:未安装ios-sim版本:5.0.1操作系统:Mac OS X Yosemite节点版本:v4.1.1 Xcode版本:Xcode 6.4构建版本6E35b

我找到了避免使用'sudo'命令的方法。我们之前需要修复npm权限:https://docs.npmjs.com/getting-started/fixing-npm-permissions并在此修复Node的权限:http://mawaha.com/permission-fix-node-js/在此之后,我们可以检查并重新安装软件,而不需要“sudo”用于npm,n或离子。

我遵循了这一步:

npm install -g n
rm -R node_modules/ 
npm install node-sass@3.3.3 
npm -g install node-gyp@3
npm uninstall gulp-sass
npm install gulp-sass@2 
npm rebuild node-sass 
ionic setup sass 

为什么node-sass@3.3.3?因为它适用于最新的离子版本:https://github.com/driftyco/ionic/pull/4449

答案 1 :(得分:0)

你在Node 4上吗?这是新C绑定的一个常见问题。这是一个有效的解决方案:

 $ npm uninstall gulp-sass node-sass
 $ npm install node-sass@1.0.3
 $ npm install gulp-sass

答案 2 :(得分:0)

我刚用这个命令解决了libsass或node-sass的问题:

$ sudo rm -rf node_modules/ && cat package.json | sed -i.bak 's/"gulp-sass": "^X.X.X"/"gulp-sass": "^2.0.4"/g' package.json && npm install && ionic lib update

其中X是package.json中的gulp-sass版本

<强>解释

删除node_modules中的旧文件。我不确定是否有必要使用'sudo'(在我的情况下,是的)。

$ sudo rm -rf node_modules/

在package.json中搜索并替换gulp-sass版本更新为^ 2.0.4。它还会创建一个备份(package.json.bak),

$ cat package.json | sed -i.bak 's/"gulp-sass": "^X.X.X"/"gulp-sass": "^2.0.4"/g' package.json

重新安装依赖项

$ npm install

更新项目中的离子库

ionic lib update

如果您有任何进一步的问题,请确保我尝试可以帮助您...

再见