npm - Error: The specified procedure could not be found - node.js

Error:
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)
System:
OS: Windows 8.1 (64-bit)
node: v0.12.0
npm: 2.5.1
Background:
Yesterday I was trying to start a new project. And tried to use yeoman generator generator-gulp-angular and got a bunch of visual basic errors. So I installed Microsoft Windows SDK and a bunch of other stuff from Microsoft. So now I have a lot of Microsoft entries in my installed applications listing and I'm lost when I look at these:
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
I have no idea what I really need/don't need or if anything is conflicting.
I didn't get anything to work yesterday so I finished right there.
So today I found out that I had an old version of npm (1.4.28) and upgraded it to version 2.5.1. I just downloaded a new x64 installer from nodejs.org.
After that everything was broken. I can't even run gulp serve anymore to launch my existing/working application. For hours I tried to download/repair/uninstall/install Windows SDK, nodejs etc. Tried a bunch of commands which I still don't fully understand and I'm still lost.
Few things from the top of my head which I tried:
npm cache clean
deleted node_modules folder and ran npm install
tried some commands I found with node-gyp
tried to set the msvs_version attribute to something
restart
The error makes me think that something is wrong with some kind of a compiler.
But I have no idea what's really going on. So I'm trying to understand what could be the cause of the problem? What should I try next to fix the error?
If any addition information is needed let me know.

EDIT (APRIL 2ND, 2015):
Node-sass has since fixed the issue. You can safely use Node v0.12, just make sure to install the latest version of Node-sass and also update your local AND global version of Gulp (https://github.com/gulpjs/gulp/issues/873). I'll leave the original response below for archiving purposes.
Uninstall Node v0.12 and install Node v0.10.28
http://nodejs.org/dist/v0.10.28/
You'll want the .msi installer
That fixed the issue for me.
Apparently it's an issue with node-sass that won't be fixed until they update:
https://github.com/sass/node-sass/issues/653

Related

Excel Add-in MATLAB library compiler

I'm trying to compile an Excel add-in in Matlab, but I'm having an "Error during packaging":
No supported compiler or SDK was found. You can install the freely available MinGW-w64 C/C++ compiler; visit http://www.mathworks.com/help/matlab/matlab_external/install-mingw-support-package.html . For more options, visit http://www.mathworks.com/support/compilers/R2016a/win64.html.
Error: An error occurred while shelling out to mbuild (error code = -1).
Unable to build executable.
In the log it also appear:
No MEX options file identified; looking for an implicit selection.
No MEX options file identified; looking for an implicit selection.
Did not find installed compiler 'Intel C++ Composer XE 2013 with Microsoft SDK 7.1'.
Did not find installed compiler 'Intel C++ Composer XE 2013 with Microsoft Visual Studio 2010'.
Did not find installed compiler 'Intel C++ Composer XE 2013 with Microsoft Visual Studio 2012'.
Did not find installed compiler 'Intel C++ Composer XE 2013 with Microsoft Visual Studio 2013'.
Did not find installed compiler 'Intel Parallel Studio XE 2015 for C++ with Microsoft SDK 7.1'.
Did not find installed compiler 'Intel Parallel Studio XE 2015 for C++ with Microsoft Visual Studio 2010'.
Did not find installed compiler 'Intel Parallel Studio XE 2015 for C++ with Microsoft Visual Studio 2012'.
Did not find installed compiler 'Intel Parallel Studio XE 2015 for C++ with Microsoft Visual Studio 2013'.
Did not find installed compiler 'Intel Parallel Studio XE 2015 for C++ with Microsoft Visual Studio 2015'.
Did not find installed compiler 'Intel Parallel Studio XE 2016 for C++ with Microsoft SDK 7.1'.
Did not find installed compiler 'Intel Parallel Studio XE 2016 for C++ with Microsoft Visual Studio 2010'.
Did not find installed compiler 'Intel Parallel Studio XE 2016 for C++ with Microsoft Visual Studio 2012'.
Did not find installed compiler 'Intel Parallel Studio XE 2016 for C++ with Microsoft Visual Studio 2013'.
Did not find installed compiler 'Intel Parallel Studio XE 2016 for C++ with Microsoft Visual Studio 2015'.
Found installed compiler 'MinGW64 Compiler (C++)'.
Did not find installed compiler 'Microsoft Visual C++ 2010'.
Did not find installed compiler 'Microsoft Visual C++ 2012'.
Did not find installed compiler 'Microsoft Visual C++ 2013 Professional'.
Did not find installed compiler 'Microsoft Visual C++ 2015 Professional'.
I've all Visual Studio Versions installed on my machine.
Anyone with solution for that?
Thank you
Just found the solution.
Install Visual Studio (in case I installed the 2015 pro version) in custom mode and add all C++ itens.

How to install nodejs socket.io without this Microsoft Visual C++ error?

I am getting a very rather annoying error:
"C:\Program Files\nodejs\node_modules\npm\b
in\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild
Building the projects in this solution one at a time. To enable parallel build,
please add the "/m" switch.
MSBUILD : error MSB3428: Could not load the Visual C++ component "VCBuild.exe".
To fix this, 1) install the .NET Framework 2.0 SDK, 2) install Microsoft Visua
l Studio 2005 or 3) add the location of the component to the system path if it
is installed elsewhere. [C:\myprog\node_modules\socket.io\node_modules\sock
et.io-client\node_modules\engine.io-client\node_modules\ws\build\binding.sln]
MSBUILD : error MSB3428: Could not load the Visual C++ component "VCBuild.exe".
To fix this, 1) install the .NET Framework 2.0 SDK, 2) install Microsoft Visua
l Studio 2005 or 3) add the location of the component to the system path if it
is installed elsewhere. [C:\myprog\node_modules\socket.io\node_modules\sock
et.io-client\node_modules\engine.io-client\node_modules\ws\build\binding.sln]
socket.io#1.1.0 node_modules\socket.io
├── debug#0.7.4
├── has-binary-data#0.1.3 (isarray#0.0.1)
├── socket.io-parser#2.2.1 (isarray#0.0.1, component-emitter#1.1.2, benchmark#1.
0.0, json3#3.2.6)
├── socket.io-adapter#0.2.0 (socket.io-parser#2.1.2)
├── engine.io#1.4.0 (base64id#0.1.0, debug#1.0.3, engine.io-parser#1.1.0, ws#0.4
.31)
└── socket.io-client#1.1.0 (to-array#0.1.3, indexof#0.0.1, component-bind#1.0.0,
object-component#0.0.3, has-binary#0.1.5, component-emitter#1.1.2, socket.io-pa
rser#2.2.2, parseuri#0.0.2, engine.io-client#1.4.0)
When I check my Add/remove Programs it looks like I already have:
Microsoft Visual C++ 2005 Redistributable
Microsoft Visual C++ 2005 Redistributable (x64)
Microsoft Visual C++ 2008 Redistributable (x64)
Microsoft Visual C++ 2008 Redistributable (x86)
Microsoft Visual C++ 2010 Redistributable (x86)
Microsoft Visual C++ 2010 Redistributable (x64)
Microsoft Visual C++ 2012 Redistributable (x64)
Microsoft .NET Framework 4.5.1
I have Windows 7 64-bit and am running the latest verison of nodejs (v0.10.32) installed from the 64-bit installer. How can I get around this error possibly without installing an entire copy of Visual Studio?
I saw someone mention someplace else ----Instead of compiling the binaries on server, do it on local system. This is not useful to me at all and I have no clue what to make of it.
You have to at least install Visual C++ Express 2010 or newer. I'm not sure if VC++ 2013 is supported by the version of gyp that node/node-gyp ships with. You will also need to install the Windows 7.0 SDK to compile 64-bit with the Express version of VC++ (although I'm not sure if that is needed for VC++ newer than 2010).
Also, if you install the Express 2012 version that you choose the "for Windows Desktop" edition because there is a separate install for writing Metro applications.

How to build with v90 platform toolset in VS2012 without VS2008, using Windows SDK?

I use Visual Studio 2012 and this is the only version of Visual Studio I have installed. I need to build certain C++ projects with the v90 platform toolset (of Visual Studio 2008), but I can't install Visual Studio 2008.
I understand it is possible to use the v90 platform toolset by installing Windows SDK 7.0. How exactly is it done? If I simply use the web installer of 7.0 SP1, I still don't see v90 as one of the possible platform toolsets.
It is possible, but apparently requires some maneuvering and will not support building MFC applications. The following assumes that VS2012 update 4 is installed, but neither VS2010 nor VS2008 are installed.
Download the x86 DVD of SDK 7.0 SP1 (GRMSDK_EN_DVD.iso). Mount the ISO or extract its contents, and manually install the MSI files from the following folders under the Setup folder:
WinSDK (this may fail, it's ok)
WinSDKBuild
WinSDKInterop
WinSDKTools
WinSDKWin32Tools
vc_stdx86
vc_stdamd64
winsdk_intellidocs
WinSDKIntellisenceRefAssys
WinSDKNetFxTools
Download the x86 DVD of SDK 7.1 (GRMSDK_EN_DVD.iso). Mount the ISO or extract its contents, and manually install the MSI files from the same folders listed above (except winsdk_intellidocs, which doesn't exist).
Go to C:\Program Files (x86)\Microsoft Visual Studio 9.0. Copy the following files from Common7\IDE to VC\bin:
msobj80.dll
mspdb80.dll
mspdbcore.dll
mspdbsrv.exe
Now you should be able to choose the v90 platform toolset in Visual Studio 2012 and build with it.
Explanations (and sources):
Individual MSI installation is based on the second workaround from this connect report.
The requirement for both 7.0 and 7.1 is based on this question (both VS2010 and VS2008 are required to use v90 in VS2012!). SDK 7.1 is not needed if you have VS2010.
DLL/EXE copying requirement is based on yet another question. If you do not copy them, you will see error MSB6006: "CL.exe" exited with code -1073741515.
In addition to this answer I want to add that
You can install SDK 7.0 simply by running setup, there is no problem with it.
You can install SDK 7.1 by running setup, if you remove Microsoft Visual C++ 2010 Redistributables first and fix following registry values:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Client]
"Version"="4.0.30319"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP\v4\Full]
"Version"="4.0.30319"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Client]
"Version"="4.0.30319"
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\NET Framework Setup\NDP\v4\Full]
"Version"="4.0.30319"
You can (and probably should) restore these values to whatever they originally were after installation is complete.
Do not forget to install KB2519277 after this, it updates compilers in SDK 7.1 to SP1.
You don't need to copy any dll. MSBuild uses
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VC#ProductDir
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\9.0\Setup\VC#ProductDir
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\VisualStudio\9.0\Setup\VS#ProductDir
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\9.0\Setup\VS#ProductDir
to set up paths. It's probably wise to fix them to point to "C:\\Program Files (x86)\\Microsoft Visual Studio 9.0\\VC\\" and "C:\\Program Files (x86)\\Microsoft Visual Studio 9.0\\" as it might be useful elsewhere in build process.
Same goes for version 10.0 if you plan to use Windows7.1SDK toolset.
Use WindowsSdkVer.exe to set current SDK to 7.1 to defeat cryptic error in Microsoft.Cpp.x64.Targets(63,5) about missing unnamed required file. If the tool gives you error, then set these values manually:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows#CurrentInstallFolder
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Microsoft SDKs\Windows#CurrentInstallFolder
to point to newly installed SDK. The tool needs some registry keys from Visual Studio installation to work properly, but there are many and I'm not sure which are important.
Reboot. None of the above asks you to, but without reboot I got errors when trying to build a project.
As an aside, SDK7.1 adds v100 toolset, but it won't work, saying something about Could not find WindowsSDKDir variable from the registry. This is because v100 actually requires SDK7.0A which comes with Visual Studio 2010 and is not available separately. Windows7.1SDK toolset is the one which utilises VC2010 compilers if you need them.
Microsoft.Cpp.Win32.*.props files have a lot of relevant stuff if something fails in build system.
One addition/update for VS2013 to Yodans answer:
My working setup:
VS2013 has to use VS2010 libs
Using WinSDK 7.1 (Yodans 2.) build tools (v100) in VS2013
clean install, uninstalling everything mentioned in the sdk release notes (can be downloaded at http://www.microsoft.com/en-us/download/details.aspx?id=8279 under category Details)
Microsoft Windows SDK for Windows 7 (7.1) (the Windows SDK core-component files)
Application Verifier
Debugging Tools for Windows
Windows Performance Toolkit
Microsoft Help Viewer 1.0
Microsoft Visual C++ 2010 Redistributable
Microsoft Visual C++ 2010 Standard Edition
Additionally removed all .NET and VC++ related MS Software (not tested if necessary)
choosing Windows7.1SDK as Platform Toolset in VS2013
error MSB6006: "CL.exe" exited with code -1073741515
cl.exe uses msobj100.dll, mspdb100.dll, mspdbcore.dll and mspdbsrv.exe
Added to PATH C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE
Build works and binary is usable ( So now its tested Yodan ;-) )
My mistake:
copied files in 7. above to C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin (Yodans 3.), believing this dir is in PATH, but it was not!
So better do as sugested by Yodan and tested by myself in 8. above
p.s. same answer is solving this problem:
Visual Studio 2013: CL.exe exited with code -1073741515

InstallShield LE doesn't install MS Visual C++ 2010 Redistributable Package (x86)

I'm using InstallShield Limited Edition to create installer (setup.exe) for my project. My project requires Microsoft Visual C++ 2010 Redistributable Package (x86), and I want include this redist into my setup.exe. I do it in Redistributables view in my InstallShield project - just selecting Microsoft Visual C++ 2010 Redistributable Package (x86) as InstallShield Prerequisite component and setting 'Extract From Setup.exe' property for it.
I decided to test my setup.exe on XP box and Win7 box. For this purpose I deleted Microsoft Visual C++ 2010 Redistributable from these boxes (via Control Panel->Uninstall program) and tried to install my app. My expected result is - c++ redist will be installed before my project installation.
But I have different results: I have no problem when installing it on XP box: it installed c++ redist first and my app then. Works as it should be!
But when I launched setup.exe on Win7 box it didn't install c++ redist - it only installed my app. Can anyone explain this?
Btw, Microsoft Visual C++ 2010 Redistributable Package (x86) had size ~11 mb and version 10.0.40219 on my Win7 box before I uninstalled it. Now I downloaded it from here http://www.microsoft.com/en-us/download/details.aspx?id=5555, installed manually and... I see that now it has version 10.0.30319 and size only ~918 kb. So, I wonder again, what's going on?
This may be related to the operatingsystemconditions configuration in the Installshield pre-requisite file Microsoft Visual C++ 2010 Redistributable Package (x86).prq located in the Installshield SetupPrerequisites directory.
The operatingsystemconditions section specifies which versions of Windows, including service packs, 32/64 bits, the redistributable file should be installed on.
See http://daniellang.net/installshield-and-microsoft-visual-c-2010-redistributables/ for some more details.
You've installed the SP1 redist, but there is an updated version with a MFC security update.
http://support.microsoft.com/kb/2565063

Packaging Visual Studio 2012 Redistributable into an InstalLShield setup

I have developed a software with visual studio 2012 using the c++ language. I use Installshield 2010 Premier to build my setup project. I am trying to package the visual studio 2012 redistributable into the setup package so that it installs automatically. Is there a way to do this? I cannot find the redistributable in question on the redistributable page while configuring the installer.
Can I add it manually?
Any help would be appreciated.
P.S. Currently, I'm just manually running the redistributable I downloaded from Microsoft page before I run the setup.
Update to read first:
You need to install IS2012 SP1 to get these prereqs. See:
InstallShield 2012 Spring Service Pack 1 is Now Available!
Otherwise the PRQ XML can be found at:
x86 PRQ XML On Saturn
x64 PRQ XML On Saturn
Additional background information:
InstallShield comes with a prerequisite editor that you can use to define your own PRQ files. For a tutorial see:
Using InstallShield 12 to Install .NET Framework 3.0
Note: The PRQ schema hasn't changed in a long time. You can frequently install a trial version of InstallShield on a VM, find a new/updated PRQ and then back port it to your 2010 environment. Add it, build and test and it usually works fine. Also sometimes InstallShield will have expansion packs and addon installers to add these without rereleasing the product.
Use the redistributable merge modules (*.msm files) to integrate them into your setup. If you have Visual Studio installed you can find them at Program Files (x86)\Common Files\Merge Modules .

Resources