Windows 10 node-gyp无法构build:MSBUILD失败,退出代码1

Windows 10,Microsoft Visual Studio 2013,Node v0.12.7,node-gyp v2.0.2

我总是得到node-gyp的错误生成错误:

Error: `C:\Program Files (x86)\MSBuild\12.0\bin\msbuild.exe` failed with exit code: 1 

另外在红色的颜色描述:

 Could not write lines to file "Release\obj\validation\validation.tlog\validation.lastbuildstate". The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters. 

更大的错误摘录: https : //gist.github.com/nerijusgood/63e54d9c376999a044bb

据我所知,一切运行良好,但msbuild不能写长path名称。 有没有这个补丁或Windows解决方法?

将npm更新到版本3+ 。 这一直困扰着所有的Windows用户,而现在的答案是平坦化你的依赖关系 。 即使在安装过程中,npm@3.x也会自动将所有依赖关系变为根。

对于Visual Studio来说,长文件path是一个大问题,微软已经表示,他们在近期内没有计划修复这个问题!
尝试将您的解决scheme文件夹移动到驱动器的根目录(c:\ project)
此外NPM版本3+更改模块文件夹结构,以便它们不嵌套太深。 (它说这是在testing版,但似乎已经解决了我的一些问题)

关于你在Github上的post,(我已经遇到了与NPM和node-gyp有关的无穷无尽的问题,显然所有的东西都能在linux上正常工作!)
您可能需要安装VS2013(您可以使用快速版本,确保它包含c ++)
从github上的npm错误:
v120是VS2013
v140是VS2015

要使node-gyp使用正在安装的软件包的正确版本,可能需要在Windows中设置环境variables。
设置GYP_MSVS_VERSION = 2013
(如果你在Windows系统属性中设置它,请确保重新启动你的命令提示符)

默认情况下,在MS Windows 10中,NPM全局安装path将使用您的用户configuration文件目录;

 %USERPROFILE%\AppData\Roaming\npm %USERPROFILE%\AppData\Roaming\npm-cache 

翻译成类似的东西;

 C:\Users\YOUR-USER-PROFILE-NAME\AppData\Roaming\npm C:\Users\YOUR-USER-PROFILE-NAME\AppData\Roaming\npm-cache 

上面的第一个path包含51个字符,第二个包含57个字符。 根据长度或您的用户configuration文件名称,您的path可能会更短或更长。

因此,我们的目标是通过使用-g标志来使用较less字符的目录来更改在全局安装NPM时使用的目录。

将“全局”NPM文件夹更改为%ALLUSERSPROFILE%\(npm | npm-cache)

  1. 您的用户帐户应该是pipe理员组的成员,或者在出现提示时可能需要inputpipe理员密码。
  2. %USERPROFILE%\AppData\Roaming\复制现有的'npm'文件夹并粘贴到%ALLUSERSPROFILE%
  3. 打开Windows命令提示符并运行以下命令;

     npm config --global set prefix "C:\ProgramData\npm" npm config --global set cache "C:\ProgramData\npm-cache" 

    这将添加/更新以下内容: %USERPROFILE%\AppData\Roaming\npm\etc\npmc ;

     prefix=C:\ProgramData\npm cache=C:\ProgramData\npm-cache 

    上面的第一个path现在只包含18个字符,第二个包含24个字符。

添加/更改NPM的PATHvariables

  1. 按照以下步骤导航到“环境variables”。

    开始>设置>系统>关于>系统信息>高级系统设置

    在“高级”标签下,点击“环境variables…”button。

  2. select'PATH'variables并点击'Edit …'button。

  3. 如果已经有一个类似于C:\ Users \ YOUR-USER-PROFILE-NAME \ AppData \ Roaming \ npm的NPM条目,请select它并单击“编辑”button。 否则,请点击“新build”button。

  4. 粘贴C:\ProgramData\npm并点击“确定”button保存。

  5. 最后,重新启动您的电脑。