node-gyp构build错误的Windows x64

好。 以下是我在x64操作系统上所做的工作:

  • 安装了Python(v2.7 – 特别是2.7.6)并将其添加到系统path(C:\ Python27)
  • 安装的MS VS C ++ 2010 Express版本(我已经有VS 2012,但没有C ++组件)
  • 安装了Windows SDK 7.1的编译器更新
  • 成功执行node-gyp configure(从位于binding.gyp所在的nodejs \ node_modules下的附加目录中)

  • 运行node-gyp build(以pipe理员身份)**这是什么坠毁,留给我:

这个错误:

C:\Program Files\nodejs\node_modules\msnodesql>node-gyp build gyp info it worked if it ends with ok gyp info using node-gyp@0.12.2 gyp info using node@0.10.25 | win32 | x64 gyp info spawn C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe gyp info spawn args [ 'build/binding.sln', gyp info spawn args '/clp:Verbosity=minimal', gyp info spawn args '/nologo', gyp info spawn args '/p:Configuration=Release;Platform=x64' ] Building the projects in this solution one at a time. To enable parallel build, please add the "/m" switch. 

LINK:致命错误LNK1181:无法打开input文件'kernel32.lib'[C:\ Program Files \ nodejs \ node_modules \ msnodesql \ build \ sqlserver.vcxproj]

 gyp ERR! build error gyp ERR! stack Error: `C:\Windows\Microsoft.NET\Framework\v4.0.30319\msbuild.exe` failed with exit code: 1 gyp ERR! stack at ChildProcess.onExit (C:\Users\RNelson\AppData\Roaming\npm\node_modules\node-gyp\lib\build.js:267:23) gyp ERR! stack at ChildProcess.EventEmitter.emit (events.js:98:17) gyp ERR! stack at Process.ChildProcess._handle.onexit (child_process.js:797:12) gyp ERR! System Windows_NT 6.1.7601 gyp ERR! command "node" "C:\\Users\\RNelson\\AppData\\Roaming\\npm\\node_modules\\node- gyp\\bin\\node-gyp.js" "build" gyp ERR! cwd C:\Program Files\nodejs\node_modules\msnodesql gyp ERR! node -v v0.10.25 gyp ERR! node-gyp -v v0.12.2 gyp ERR! not ok 

任何想法是怎么回事? 提前致谢! 只是试图使用Node.js的Node-sqlserver MS驱动程序

npm config set msvs_version 2013 --global为我工作,因为我使用VS节点工具,你不需要每次你做一个npm安装指定msvs_version。

我有一个问题,即npm的configuration(c:\ Users \用户名\ .npmrc)有一个条目msvs_version = 2012,这是过时的。

我有一个类似的问题。 我发现这个开关帮了我

 --msvs_version=2012 

所以例如

 npm install --msvs_version=2012 <package> 

花了一段时间才得到这个工作(对于我接受的答案没有工作,对我来说这只是一半的解决scheme)我做了以下:

  1. 可悲的是,你必须有视觉工作室(我安装快递版2013的DESKTOP)

  2. 安装python 2.7.3(你不必设置任何环境variables)

  3. 以pipe理员身份运行cmd并转到项目根目录(package.json文件在哪里)

  4. 首先运行: npm config set python C:\Python27\python.exe

  5. 然后: npm install -msvs_version=2013

技巧是在命令npm config set python ...path_to_python_exe...这将由npm提供依赖需要python我猜。 我不知道为什么设置python作为envvariables是不够的。

在windows或其他操作系统中安装node-gyp

首先,您可能必须通过下载node-gyp

 $ npm install -g node-gyp-install 

然后通过安装

 $ npm install -g node-gyp 

您可能需要以root / administrartor身份执行上述过程。

我现在在2015年尝试安装Keystone时出现了这个相同的错误,我跑过了你告诉我的所有内容,但是它并没有在它自己的工作。 最后,我只需要运行命令

 "C:\Program Files\Microsoft SDKs\Windows\v7.1\bin\SetEnv.CMD" /Release /x64 

在运行命令之前设置环境。 (当你的窗口文本变成绿色的时候,不要惊慌)。 所以是的,我会做的安装和设置环境variables以相同的方式在互联网上build议任何地方,但一定要运行上述命令之前运行任何其他命令。 这对你可能不会有用,但希望对别人有用。 如果仍然不起作用,那么MSVS版本2010为我工作,因此安装该版本并在运行npm命令时使用-msvs_version = 2010标志。

如果以上都不起作用(我的情况 – Windows10 64位

删除C:\ Users \ user_name \ .node-gyp

删除%AppData%/ npm

删除%AppData%/ npm-cache

并再次安装node-gyp

遵循node-gyp页面上的指令

我select了选项1 npm install –global –production windows-build-tools

对于我来说,使用VS express的解决scheme就是简单地安装Visual Studio 2013 Express for desktop(这是唯一一个为您提供开发人员命令提示符的版本)。 打开开发人员命令提示符 (提升)并运行NPM安装命令。 这不需要任何特殊的--msvs_version参数,它只是工作。

我自己遇到这个问题,这就是我如何使用Visual Studio 2010解决它:

安装以下软件包

  • Python 2.7+
  • Visual C ++ Studio 2010 Express
  • Windows SDK 7.1注意:如果安装时出错,也许这个链接会帮助你。
  • Visual Studio 2010 SP1
  • 用于Windows SDK 7.1的Visual C ++ 2010 SP1编译器更新

从Windows SDK命令提示符使用npm install (您需要此设置,因为它设置了其他环境variables)。

来源: VS2010的node-gyp指令

对于我(Windows 7 64位),

我在这个问题上挣扎了半天,终于有效了。

在我的路上

  1. 在控制面板上,我删除了所有Python,Microsoft Visual Studio,Microsoft Redistributable,以及我安装的一些东西来解决这个问题。

  2. 窗口更新并重新启动。

  3. 安装了Python27和Visual Studio 2013 ,没有设置env-val

  4. npm install node-gyp -g

  5. 我得到了一个错误相同的事情,但后npm config set msvs_version 2013 --global ,它的工作原理。