【发布时间】:2015-04-10 16:22:13
【问题描述】:
错误:
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)
系统:
- 操作系统:Windows 8.1(64 位)
- 节点:v0.12.0
- npm:2.5.1
背景:
昨天我试图开始一个新项目。并尝试使用 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
我不知道我真正需要/不需要什么,或者是否有任何冲突。
我昨天没有做任何事情,所以我就在那里完成了。
所以今天我发现我有一个旧版本的 npm (1.4.28) 并将其升级到版本 2.5.1。我刚刚从 nodejs.org 下载了一个新的 x64 安装程序。
在那之后,一切都被打破了。我什至不能再运行gulp serve 来启动我现有/工作的应用程序。几个小时以来,我尝试下载/修复/卸载/安装Windows SDK、nodejs 等。尝试了一堆我仍然不完全理解的命令,我仍然迷路了。
我尝试过的几件事:
npm cache clean- 删除 node_modules 文件夹并运行 npm install
- 尝试了一些我用
node-gyp找到的命令 - 试图将
msvs_version属性设置为something - 重启
这个错误让我觉得某种编译器有问题。 但我不知道到底发生了什么。所以我试图了解问题的原因可能是什么?接下来我应该尝试什么来修复错误?
如果需要任何补充信息,请告诉我。
【问题讨论】:
-
您是否尝试删除 node_modules 并重新安装它(也许只有
npm install可以解决问题)?我碰巧插件会在更新时中断。顺便说一句,更新时,请使用npm -g update npm(或将update替换为install,我认为它应该可以正常工作)。根据我的经验,在更新时使用它并没有破坏任何东西。 -
所以我试过了。现在还尝试删除 nodejs,删除 node_modules,重新安装 nodejs,
npm install- 仍然没有骰子。之后我尝试卸载 nodejs,删除 node_modules。安装 nodejs x86 并运行npm install。但是当我尝试使用 gulp 或任何东西时,我仍然会遇到同样的错误。我还卸载了Microsoft Visual C++ 2010- 因为我读到了一些关于并排使用 2010 和 2012 的内容。之后我在做npm install时不需要指定--msvs_version=2013。 -
刚刚从我的控制面板卸载了所有“Microsoft Corporation”的东西。还删除了 nodejs 和 python 3.4。删除了所有全局 node_modules 并清理了缓存。在安装 nodejs、Visual Studio Express 2013 for Windows Desktop 之后,我的应用程序仍然遇到同样的问题。有趣的是,我现在让 gulp-angular-generator 工作了。这开始完美无缺。很快将尝试将我的项目拉到一个新文件夹中,看看我可以从那里去哪里。也许有一些隐藏的“缓存”或一些临时文件仍在阻碍。