cubehouse / themeparks

Unofficial API for accessing ride wait times and schedules for Disneyland, Disney World, Universal Studios, and many more parks
MIT License
536 stars 126 forks source link

Installation Fails #334

Closed dominikponniah closed 3 years ago

dominikponniah commented 3 years ago

Park General Issue

Context

How to find your themeparks version: Linux: npm list --depth=0 | grep themeparks Windows CMD: npm list | find "themeparks" PowerShell: npm list | sls themeparks

Describe the bug I tried to create a new Project using the API-Package. But i do always get the Output below. All Dependencies (Python and VS BuildTools) are installed already. This error occurs on two various Windows Machines and comes up when trying to install the npm package directly into a new project.

Output npm WARN deprecated uuid@3.4.0: Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details. npm WARN deprecated socks@1.1.10: If using 2.x branch, please upgrade to at least 2.1.6 to avoid a serious bug with socket data flow and an import issue introduced in 2.1.0 npm WARN deprecated node-pre-gyp@0.11.0: Please upgrade to @mapbox/node-pre-gyp: the non-scoped node-pre-gyp package is deprecated and only the @mapbox scoped package will recieve updates in the future

sqlite3@4.2.0 install E:\Desktop\api\node_modules\sqlite3 node-pre-gyp install --fallback-to-build

node-pre-gyp WARN Using needle for node-pre-gyp https download node-pre-gyp WARN Tried to download(403): https://mapbox-node-binary.s3.amazonaws.com/sqlite3/v4.2.0/node-v83-win32-ia32.tar.gz node-pre-gyp WARN Pre-built binaries not found for sqlite3@4.2.0 and node@14.17.0 (node-v83 ABI, unknown) (falling back to source compile with node-gyp) gyp ERR! find VS gyp ERR! find VS msvs_version was set from command line or npm config gyp ERR! find VS - looking for Visual Studio version 2017 gyp ERR! find VS VCINSTALLDIR not set, not running in VS Command Prompt gyp ERR! find VS checking VS2019 (16.10.31402.337) found at: gyp ERR! find VS "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools" gyp ERR! find VS - "Visual Studio C++ core features" missing gyp ERR! find VS could not find a version of Visual Studio 2017 or newer to use 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 valid versions for msvs_version: 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:\Program Files (x86)\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:121:47) gyp ERR! stack at C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:74:16 gyp ERR! stack at VisualStudioFinder.findVisualStudio2013 (C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:351:14) gyp ERR! stack at C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:70:14 gyp ERR! stack at C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\node-gyp\lib\find-visualstudio.js:372:16 gyp ERR! stack at C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\node-gyp\lib\util.js:54:7 gyp ERR! stack at C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\node-gyp\lib\util.js:33:16 gyp ERR! stack at ChildProcess.exithandler (child_process.js:326:5) gyp ERR! stack at ChildProcess.emit (events.js:376:20) gyp ERR! stack at maybeClose (internal/child_process.js:1055:16) gyp ERR! System Windows_NT 10.0.19043 gyp ERR! command "C:\Program Files (x86)\nodejs\node.exe" "C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js" "configure" "--fallback-to-build" "--module=E:\Desktop\api\node_modules\sqlite3\lib\binding\node-v83-win32-ia32\node_sqlite3.node" "--module_name=node_sqlite3" "--module_path=E:\Desktop\api\node_modules\sqlite3\lib\binding\node-v83-win32-ia32" "--napi_version=8" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v83" "--msvs_version=2017" gyp ERR! cwd E:\Desktop\api\node_modules\sqlite3 gyp ERR! node -v v14.17.0 gyp ERR! node-gyp -v v5.1.0 gyp ERR! not ok node-pre-gyp ERR! build error node-pre-gyp ERR! stack Error: Failed to execute 'C:\Program Files (x86)\nodejs\node.exe C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js configure --fallback-to-build --module=E:\Desktop\api\node_modules\sqlite3\lib\binding\node-v83-win32-ia32\node_sqlite3.node --module_name=node_sqlite3 --module_path=E:\Desktop\api\node_modules\sqlite3\lib\binding\node-v83-win32-ia32 --napi_version=8 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v83 --msvs_version=2017' (1) node-pre-gyp ERR! stack at ChildProcess. (E:\Desktop\api\node_modules\node-pre-gyp\lib\util\compile.js:83:29) node-pre-gyp ERR! stack at ChildProcess.emit (events.js:376:20) node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:1055:16) node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:288:5) node-pre-gyp ERR! System Windows_NT 10.0.19043 node-pre-gyp ERR! command "C:\Program Files (x86)\nodejs\node.exe" "E:\Desktop\api\node_modules\node-pre-gyp\bin\node-pre-gyp" "install" "--fallback-to-build" node-pre-gyp ERR! cwd E:\Desktop\api\node_modules\sqlite3 node-pre-gyp ERR! node -v v14.17.0 node-pre-gyp ERR! node-pre-gyp -v v0.11.0 node-pre-gyp ERR! not ok Failed to execute 'C:\Program Files (x86)\nodejs\node.exe C:\Program Files (x86)\nodejs\node_modules\npm\node_modules\node-gyp\bin\node-gyp.js configure --fallback-to-build --module=E:\Desktop\api\node_modules\sqlite3\lib\binding\node-v83-win32-ia32\node_sqlite3.node --module_name=node_sqlite3 --module_path=E:\Desktop\api\node_modules\sqlite3\lib\binding\node-v83-win32-ia32 --napi_version=8 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v83 --msvs_version=2017' (1) npm WARN themeparkapi@1.0.0 No description npm WARN themeparkapi@1.0.0 No repository field.

npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! sqlite3@4.2.0 install: node-pre-gyp install --fallback-to-build npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the sqlite3@4.2.0 install script. npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

AlexVV13 commented 3 years ago

What version of node are you currently using? Because sqlite3 isn’t compatible (yet) with node v14 and up (node -v)

Edit; just saw you are using node v14, you should downgrade to earlier versions in order to succeed the installation, for more info, please read this issue: https://github.com/mapbox/node-sqlite3/issues/1314

dominikponniah commented 3 years ago

Okay, thanks for the Information i'll try it. Sorry for the stupid question. I though it is a mistake by this library and not by npm, because other libs work.

Cheers and have a good day!

AlexVV13 commented 3 years ago

No problem at all and stupid questions don’t exist.

Have a good day as well!

cubehouse commented 3 years ago

SQLite is great when it works, but I know a lot of people (sometimes myself included when I have a new machine) struggle to get it compiling.

I suspect even if you have Visual Studio installed, there is some component missing for SQLite to compile. But the easiest way by far is to try and sync up with any precompiled binaries SQLite have already made for a specific NodeJS version.

I hope to remove it as a dependency in future, it is essential currently though to make sure you don't download 100's of MB of data every minute from theme park APIs!

dominikponniah commented 3 years ago

Thanks for your Inputs and Help. It worked (yay). Now i just do have to find a suitable Hosting-Service for my small API ;-)