找不到.node-gyp/4.1.2/common.gypi

bar*_*onm 6 npm gulp ionic

它正确启动浏览器模拟器ionic serve.

但是,gulp watch此异常崩溃了......

    /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`?
Run Code Online (Sandbox Code Playgroud)

奇怪的是,虽然npm rebuild node-sass错过了这个错误

gyp: .node-gyp/4.1.2/common.gypi not found
Run Code Online (Sandbox Code Playgroud)

这里讨论了这个问题,建议npm@2.14.4解决问题. https://github.com/brianc/node-pg-native/issues/27

但是,我正在跑步npm@2.14.6.

我必须在这里或问题27中忽略一些微不足道的事情.任何人都可以看到它是什么吗?

im3*_*r3k 5

更新:类似的问题可能发生grunt-sass.

我固定它通过消除版本限制gulp,gulp-sass并重新安装模块:

  1. 移动/删除项目的node_modules文件夹中的所有模块("本地"安装的模块)
  2. package.json,更换版本号旁边,gulpgulp-sass"*".
  3. (步骤不必要)为了更好的衡量,添加node-gypnode-sass依赖,也"*".
  4. npm install

作为指南,您可以使用此stackoverflow链接来更新依赖项.

基本上你需要确保gulp-sass使用node-gyp + node-sass而不是pangyp.

我想node在一个干净的状态下开始我的第一个项目,因此在这个问题上挣扎了一段时间.降级不起作用.

这个问题似乎与gulp-sassin 的强制版本冲突package.json.gulp-sass可能依赖于pangyp而不是node-gyp在某个时刻,现在pangyp已经贬值,它会以某种方式引发冲突.

我相信这些版本可以保护您,特别是在生产中.根据我的经验(现在大约1个星期)更新一些项目使用的模块并不是那么冒险.