我正在尝试安装此库Barcode-Scanner-npm,但安装失败并显示此错误:
C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.Cpp.Platform.targets(57,5): error MSB8020: The build t
ools for v141 (Platform Toolset = 'v141') cannot be found. To build using the v141 build tools, please install v141 bui
ld tools. Alternatively, you may upgrade to the current Visual Studio tools by selecting the Project menu or right-cli
ck the solution, and then selecting "Retarget solution". [C:\Users\bla\Desktop\bla\myProject\node_modules\@serialport\bin
dings\build\bindings.vcxproj]
gyp ERR! build error
gyp ERR! stack Error: `msbuild` failed with exit code: 1
gyp ERR! stack at ChildProcess.onExit (C:\Program Files\nodejs\node_modules\npm\node_modules\node-gyp\lib\build.js:258:23)
gyp ERR! stack at emitTwo (events.js:126:13)
gyp ERR! stack at ChildProcess.emit (events.js:214:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:198:12)
gyp ERR! System Windows_NT 10.0.17134
gyp ERR! command "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\bla\Desktop\bla\myProject\node_modules\@serialport\bindings
gyp ERR! node -v v8.11.1
gyp ERR! node-gyp -v v3.6.2
gyp ERR! not ok
npm WARN myProject@1.0.0 No description
npm WARN myProject@1.0.0 No repository field.
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @serialport/bindings@2.0.2 install: `prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the @serialport/bindings@2.0.2 install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! C:\Users\bla\AppData\Roaming\npm-cache\_logs\2018-09-10T10_13_47_454Z-debug.log
我尝试了一些在网络上找到的解决方案,例如安装此解决方案:
npm i windows-build-tools
但这对我不起作用。
我安装了VS2017,还安装了Platform Toolset v141(最后一个复选框):VS17 Updater
答案 0 :(得分:0)
您可以尝试以这种方式安装Windows-build-tools
npm install --global --production windows-build-tools
答案 1 :(得分:0)
打开一个cmd.exe
,然后查看路径上的MSBuild版本。如果有一个版本,并且它是较旧的版本(例如我的情况),请将其从路径中删除-至少在npm安装期间-并重试。
另请参阅我的答案以获取更多详细信息:https://stackoverflow.com/a/54300218/709537