当前位置: 首页 > 知识库问答 >
问题:

仅安装Visual Studio 2013的NPM本机构建

和斌
2023-03-14

我有一个干净的Windows安装Visual Studio 2013 Pro安装,以及当前版本的Python,节点和npm。

我正在尝试安装pgnpm软件包,但它需要本机版本,并且失败:

C:\Program Files(x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.cpp.Platform.targets(64,5):错误MSB8020:找不到Visual Studio 2012的构建工具(Platform Toolset='v110')。若要使用v110构建工具进行构建,请安装Visual Studio 2012构建工具。或者,您可以通过选择项目菜单或右键单击解决方案,然后选择“升级解决方案...”升级到当前的Visual Studio工具。[C:\用户\Aaron\AppData\漫游\npm\node_modules\pg\build\binding.vcxproj]

我似乎找不到所描述的Visual Studio 2012的构建工具,我当然更愿意不需要安装VS2012只是为了这个需要。有没有办法强制安装和构建使用可用的2013编译器/工具,而不改变包的代码?

我找不到任何人描述这个具体的问题和解决方案使用我的谷歌。

共有3个答案

百里鸿祯
2023-03-14

更新node-gyp至最新版本(1.0.2),更新人:npm-install-node-gyp-g

请注意,还必须更新节点内部使用的节点gyp

现在,node-gyp将支持您的Visual Studio 2013-您可以签入

但是,本机模块仍然无法生成,这会导致一个错误,即某些包含文件丢失(来自Windows SDK的文件,如saywinsock2.h)。这是因为Visual Studio 2013与默认的7.1A SDK捆绑在一起。但是默认的工具集设置是“v120”,它需要8.1 SDK(需要另外安装)。

要仅使用stock VS 2013进行构建,您需要更改选择的工具集。您可以通过修改~/.node gyp/common.gypi文件(想法取自此处)并将工具集改为“v120_xp”(将使用捆绑的7.1A SDK)来实现这一点:

{...'target_defaults':{...'配置':{...释放:{条件': [ ['target_arch=="x64"', { 'msvs_configuration_platform:'x64','msbuild_toolset':'v120_xp'

瞧-现在本机npm模块将编译与股票Visual Studio 2013安装!

姚麒
2023-03-14
set GYP_MSVS_VERSION=2013

2015年,您使用

set GYP_MSVS_VERSION=2015

免费VS 2013或2015社区版应该是最简单的方式。

PS
我认为对于VS 2013 Express,您应该使用

set GYP_MSVS_VERSION=2013e

其中e告诉npm使用express版本

史高阳
2023-03-14

我只在Visual Studio 2013上安装了太干净的Windows 8.1(64位)Pro(没有早期版本的VS,尽管SQL Server 2014附带了一些组件)。npm install命令失败,出现类似错误。

所以我试着指定VS版本

npm install --msvs_version=2013 <package>

它使用平台工具集“v120”正确启动,但生成失败,出现以下错误(请注意目标路径中使用的V110):

C:\Program Files(x86)\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.cpp.Platform.targets(44,5):错误MSB8020:找不到v120的构建工具(Platform Toolset='v120')。要使用v120构建工具构建,请单击项目菜单或右键单击解决方案,然后选择“更新风险投资项目...”。使用v120构建工具安装v120以构建。

我转到路径c:\Program Files(x86)\MSBuild\Microsoft。cpp\v4.0\并发现有两个子文件夹:V110V120

为了纠正用于目标的路径,我必须设置这样的环境变量:

set VCTargetsPath=C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120

然后安装了软件包。

以下版本供参考:
VS 2013 Premium
Python 2.7.8
C:\Windows\system32

 类似资料:
  • 我试图只安装在我的package.json文件中列出的"devDependence"。但是下面的命令没有一个像我期望的那样工作。以下所有命令都安装了我不想要的生产依赖项。 我想不出更多的方法来告诉npm单独安装devdependency(

  • 我是cypress的新手,我想知道vsI在谷歌上搜索了一下,但没有找到任何答案

  • 我为我在这个问题上的无知道歉。我没有大量的NPM经验。希望得到一些关于这个问题的反馈。当需要修改包的源代码时,这似乎是一个足够常见的问题?也许有更好的解决办法?

  • 问题内容: 我已经在Windows 7机器上安装了。现在,我尝试使用命令“ gem install json”安装JSON gem,并收到以下错误。 然后我去下载了DevKit-4.5.0-20100819-1536-sfx.exe。将其提取到C:\ DevKit。然后从命令提示符处执行以下命令。 执行以上命令后,我验证了config.yaml的生成,并且它具有我的ruby文件夹的路径自动添加。这

  • 本机安装Sonarqube 下载 钉盘 - 网聚宝开发指南-资源 - Common 将Sonarqube.6.2.zip 下载到本机并解压。 安装mysql 去 钉盘 - 网聚宝开发指南-资源 根据你的系统下载对应 MySQL 安装包。 点开进行安装,记住安装好的时候 弹出的root 的密码。 进入系统偏好设置,点击mysql,开启mysql服务。 此时我们在命令行输入mysql -uroot -

  • 我明白将安装package.json.中定义的节点模块版本,我不明白为什么它试图安装较旧的版本4.9.1,而不是安装4.11.0或更高版本。正因为如此,我得到了下面的错误。有人能帮我解决这个问题吗? 无法下载“https://github.com/sass/node-sass/releases/download/v4.9.1/win32-ia32-67_绑定节点“: 找不到HTTP错误404 环境