npm - Error: The specified procedure could not be found

npm - Error: The specified procedure could not be found

错误:

module.js:347
        ' for module ' + JSON.stringify(this.id));
                       ^
Error: The specified procedure could not be found.
c:\Users\Artur\workspace\xxx\node_modules\gulp-sass\node_modules\node-sass\vendor\win32-x64\binding.node
    at Error (native)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at Object.<anonymous> (c:\Users\Artur\workspace\xxx\node_modules\gulp-sass\node_modules\node-sass\lib\index.js:211:15)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)

系统:

背景:

昨天我试图开始一个新项目。并尝试使用 yeoman 生成器 generator-gulp-angular 并得到了一堆视觉基本错误。所以我安装了 Microsoft Windows SDK 和微软的一些其他东西。所以现在我的已安装应用程序列表中有很多 Microsoft 条目,当我看到这些时我迷路了:

These might be relevant for the problem:

Microsoft Visual C++  x64 Libraries
Microsoft Visual C++  x86 Libraries
Microsoft Visual C++ 2005 Redistributable
Microsoft Visual C++ 2005 Redistributable
Microsoft Visual C++ 2005 Redistributable
Microsoft Visual C++ 2005 Redistributable (x64)
Microsoft Visual C++ 2005 Redistributable (x64)
Microsoft Visual C++ 2008 Redistributable - x64 9.0.30729.4148
Microsoft Visual C++ 2008 Redistributable - x64 9.0.30729.6161
Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.4148
Microsoft Visual C++ 2008 Redistributable - x86 9.0.30729.4974
Microsoft Visual C++ 2010  x64 Redistributable - 10.0.40219
Microsoft Visual C++ 2010 Express - ENU
Microsoft Visual C++ 2012 x64 Additional Runtime - 11.0.61030
Microsoft Visual C++ 2012 x64 Minimum Runtime - 11.0.61030
Microsoft Visual C++ 2012 x86 Additional Runtime - 11.0.61030
Microsoft Visual C++ 2012 x86 Minimum Runtime - 11.0.61030
Microsoft Visual C++ 2013 32bit Compilers - ENU Resources
Microsoft Visual C++ 2013 Core Libraries
Microsoft Visual C++ 2013 x64 Additional Runtime - 12.0.21005
Microsoft Visual C++ 2013 x64 Debug Runtime - 12.0.21005
Microsoft Visual C++ 2013 x64 Minimum Runtime - 12.0.21005
Microsoft Visual C++ 2013 x86 Additional Runtime - 12.0.21005
Microsoft Visual C++ 2013 x86 Debug Runtime - 12.0.21005
Microsoft Visual C++ 2013 x86 Minimum Runtime - 12.0.21005
Microsoft Visual C++ 2013 x86-x64 Compilers

Microsoft .NET Framework 2.0 SDK (x64) - ENU
Microsoft .NET Framework 4 Multi-Targeting Pack
Microsoft .NET Framework 4.5 Multi-Targeting Pack
Microsoft .NET Framework 4.5 SDK
Microsoft .NET Framework 4.5.1 Multi-Targeting Pack
Microsoft .NET Framework 4.5.1 Multi-Targeting Pack (ENU)
Microsoft .NET Framework 4.5.1 SDK

我不知道我真正need/don不需要什么,或者是否有任何冲突。

昨天我没有得到任何工作所以我就在那里完成了。

所以今天我发现我有一个旧版本的 npm (1.4.28) 并将其升级到 2.5.1 版本。我刚刚从 nodejs.org.

下载了一个新的 x64 安装程序

在那之后一切都坏了。我什至无法再 运行 gulp serve 启动我的 existing/working 应用程序。几个小时以来,我尝试 download/repair/uninstall/install Windows SDKnodejs 等。尝试了一堆我仍然不完全理解的命令,但我仍然迷路了。

我尝试过的一些事情:

这个错误让我觉得某种编译器出了问题。 但我不知道到底发生了什么。所以我试图了解问题的原因是什么?接下来我应该尝试什么来修复错误?

如果需要任何其他信息,请告诉我。

编辑(2015 年 4 月 2 日):
Node-sass 已经解决了这个问题。您可以安全地使用 Node v0.12,只需确保安装最新版本的 Node-sass 并更新本地和全球版本的 Gulp (https://github.com/gulpjs/gulp/issues/873)。我将在下面留下原始回复以供存档。


卸载 Node v0.12 并安装 Node v0.10.28

http://nodejs.org/dist/v0.10.28/

您需要 .msi 安装程序

这解决了我的问题。

显然这是 node-sass 的一个问题,在他们更新之前不会被修复: https://github.com/sass/node-sass/issues/653