sg-wireless / pymakr-atom

Adds a REPL console to Atom that connects to your Pycom board. It can run code on the board or synchronize your project files.
Other
35 stars 11 forks source link

Not installing on Atom 1.58 - "Error: Could not find any Visual Studio installation to use" #270

Open snspinn opened 2 years ago

snspinn commented 2 years ago

I know this is similar to previously raised issues, but the log output is different to all other issues so far, which all reference a Python issue. Perhaps the root cause is the same, however. My apologies for clogging up the forum with duplicates, if I am.

Installation details

PS C:\Users\> atom -v

Atom    : 1.58.0
Electron: 9.4.4
Chrome  : 83.0.4103.122
Node    : 12.14.1

What happens?

Errors out looking for a recent Visual Studio installation.

What were you expecting to happen?

Not needing to install Visual Studio to run an add on to a working application.

Any logs, error output, etc?

Installing “pymakr@2.2.0” failed.Hide output…

> @serialport/bindings@8.0.8 install C:\Users\samue\AppData\Local\Temp\apm-install-dir-20211114-12212-19pwsa5.4not\node_modules\pymakr\node_modules\@serialport\bindings
> prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild

C:\Users\samue\AppData\Local\Temp\apm-install-dir-20211114-12212-19pwsa5.4not\node_modules\pymakr\node_modules\@serialport\bindings>if not defined npm_config_node_gyp (node "C:\Users\samue\AppData\Local\atom\app-1.58.0\resources\app\apm\node_modules\npm\node_modules\npm-lifecycle\node-gyp-bin\\..\..\node_modules\node-gyp\bin\node-gyp.js" rebuild )  else (node "C:\Users\samue\AppData\Local\atom\app-1.58.0\resources\app\apm\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" rebuild ) 

npm WARN deprecated crypto@1.0.1: This package is no longer supported. It's now a built-in Node module. If you've depended on crypto, you should switch to the one that's built-in.
npm WARN deprecated parser-byte-length@1.0.2: renamed to @serialport/parser-byte-length
npm WARN deprecated parser-cctalk@1.0.2: reanmed to @serialport/parser-cctalk
npm WARN deprecated parser-delimiter@1.0.2: reanmed to @serialport/parser-delimiter
npm WARN deprecated parser-readline@1.0.2: reanmed to @serialport/parser-readline
npm WARN deprecated parser-ready@1.0.2: reanmed to @serialport/parser-ready
npm WARN deprecated parser-regex@1.0.2: reanmed to @serialport/parser-regex
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
prebuild-install WARN install No prebuilt binaries found (target=9.4.4 runtime=electron arch=x64 libc= platform=win32)
gyp ERR! find VS 
gyp ERR! find VS msvs_version not set from command line or npm config
gyp ERR! find VS VCINSTALLDIR not set, not running in VS Command Prompt
gyp ERR! find VS could not use PowerShell to find Visual Studio 2017 or newer
gyp ERR! find VS looking for Visual Studio 2015
gyp ERR! find VS - not found
gyp ERR! find VS not looking for VS2013 as it is only supported up to Node.js 8
gyp ERR! find VS 
gyp ERR! find VS **************************************************************
gyp ERR! find VS You need to install the latest version of Visual Studio
gyp ERR! find VS including the "Desktop development with C++" workload.
gyp ERR! find VS For more information consult the documentation at:
gyp ERR! find VS https://github.com/nodejs/node-gyp#on-windows
gyp ERR! find VS **************************************************************
gyp ERR! find VS 
gyp ERR! configure error 
gyp ERR! stack Error: Could not find any Visual Studio installation to use
gyp ERR! stack     at VisualStudioFinder.fail (C:\Users\samue\AppData\Local\atom\app-1.58.0\resources\app\apm\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:121:47)
gyp ERR! stack     at C:\Users\samue\AppData\Local\atom\app-1.58.0\resources\app\apm\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:74:16
gyp ERR! stack     at VisualStudioFinder.findVisualStudio2013 (C:\Users\samue\AppData\Local\atom\app-1.58.0\resources\app\apm\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:351:14)
gyp ERR! stack     at C:\Users\samue\AppData\Local\atom\app-1.58.0\resources\app\apm\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:70:14
gyp ERR! stack     at C:\Users\samue\AppData\Local\atom\app-1.58.0\resources\app\apm\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:372:16
gyp ERR! stack     at C:\Users\samue\AppData\Local\atom\app-1.58.0\resources\app\apm\node_modules\npm\node_modules\node-gyp\lib\util.js:54:7
gyp ERR! stack     at C:\Users\samue\AppData\Local\atom\app-1.58.0\resources\app\apm\node_modules\npm\node_modules\node-gyp\lib\util.js:33:16
gyp ERR! stack     at ChildProcess.exithandler (child_process.js:302:5)
gyp ERR! stack     at ChildProcess.emit (events.js:223:5)
gyp ERR! stack     at maybeClose (internal/child_process.js:1021:16)
gyp ERR! System Windows_NT 10.0.19042
gyp ERR! command "C:\\Users\\samue\\AppData\\Local\\atom\\app-1.58.0\\resources\\app\\apm\\bin\\node.exe" "C:\\Users\\samue\\AppData\\Local\\atom\\app-1.58.0\\resources\\app\\apm\\node_modules\\npm\\node_modules\\node-gyp\\bin\\node-gyp.js" "rebuild"
gyp ERR! cwd C:\Users\samue\AppData\Local\Temp\apm-install-dir-20211114-12212-19pwsa5.4not\node_modules\pymakr\node_modules\@serialport\bindings
gyp ERR! node -v v12.14.1
gyp ERR! node-gyp -v v5.1.0
gyp ERR! not ok 
npm WARN notsup Unsupported engine for pymakr@2.2.0: wanted: {"atom":">=1.41.0","node":">=6.3.0 <=7.0.0"} (current: {"node":"12.14.1","npm":"6.14.13"})
npm WARN notsup Not compatible with your version of node/npm: pymakr@2.2.0
npm WARN enoent ENOENT: no such file or directory, open 'C:\Users\samue\AppData\Local\Temp\apm-install-dir-20211114-12212-19pwsa5.4not\package.json'
npm WARN apm-install-dir-20211114-12212-19pwsa5.4not No description
npm WARN apm-install-dir-20211114-12212-19pwsa5.4not No repository field.
npm WARN apm-install-dir-20211114-12212-19pwsa5.4not No README data
npm WARN apm-install-dir-20211114-12212-19pwsa5.4not No license field.

npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @serialport/bindings@8.0.8 install: `prebuild-install --tag-prefix @serialport/bindings@ || node-gyp rebuild`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the @serialport/bindings@8.0.8 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\samue\.atom\.apm\_logs\2021-12-14T14_29_55_926Z-debug.log

Any other comments?

I know this is probably considered solved due to #256 . I respectively disagree, however: Why would I need to install an third party IDE/code editor just to run an addon to a different, perfectly functioning code editor?

Seems like it would be easier to move over the VS Code, than implement the solution in #256 .

What versions of software are you using?

Operating system: System Windows_NT 10.0.19042 (Windows 10)

Atom version: 1.58.0

Pymakr version: 2.2.0

jakobrosenberg commented 2 years ago

Hi @snspinn. PyMakr relies on https://github.com/serialport/node-serialport to access your USB ports. To do this, node-serialport needs to run a binary file built specifically for your system. While it includes precompiled binaries for most systems, there are exceptions, such as ARM architecture. For these exceptions, PyMakr will try build them on your system instead. This is what Visual Studio is required for.

Seeing as you're using Windows 10, your system should be supported and I suspect the upcoming patch should fix your issue. In the meantime you can clone this PR https://github.com/pycom/pymakr-atom/pull/269 to see if it works for you.