Npm .node gyp/4.1.2/common.gypi未找到

Npm .node gyp/4.1.2/common.gypi未找到,npm,gulp,ionic,Npm,Gulp,Ionic,它使用离子服务正确启动浏览器模拟器 但是,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

它使用
离子服务
正确启动浏览器模拟器

但是,
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`?
奇怪的是,npm重建节点sass会因为这个错误而自动跳闸

gyp: .node-gyp/4.1.2/common.gypi not found
这里讨论的问题表明
npm@2.14.4
修复了该问题。

但是,我正在运行
npm@2.14.6


我一定忽略了这里或第27期中的一些琐事。有人能看到它是什么吗?

更新:grunt sass也会出现类似问题

我通过从
gulp
gulp sass
中删除版本限制并重新安装模块来修复它:

  • 移动/删除项目的node_modules文件夹中的所有模块 “本地”安装的模块)
  • package.json
    中,将
    gulp
    gulp sass
    旁边的版本号替换为
    “*”
  • (不需要步骤)为了更好地测量,将
    节点gyp
    节点sass
    添加到依赖项中,同时使用
    “*”
  • 运行
    npm安装
  • 作为指导,您可以使用“关于更新依赖项”

    基本上,您需要确保gulp sass使用node gyp+node sass而不是pangyp。

    我想在一个干净的状态下开始我的第一个
    节点
    项目,所以在这一问题上挣扎了一段时间。降级没用

    这个问题似乎与
    package.json
    中的强制版本控制
    gulp sass
    冲突
    gulp sass
    可能在某个时候依赖于
    pangyp
    而不是
    node gyp
    ,现在
    pangyp
    被贬值,它不知何故导致了冲突


    我相信这些版本是为了保护你,特别是在生产中。根据我的经验(现在大约1周),更新项目使用的一些模块并没有那么高的风险

    非常感谢,我可以确认将sass版本设置为“*”也适用于grunt,因为这似乎是npm版本控制问题。步骤3是不必要的。