Skip to content

@nodegui/nodegui fails postinstall if the path has certain punctuation in it #827

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
shirakaba opened this issue Apr 5, 2021 · 2 comments

Comments

@shirakaba
Copy link

shirakaba commented Apr 5, 2021

Describe the bug

@nodegui/nodegui fails the postinstall script if the path has certain punctuation in it (I believe this is due to spaces causing the path to break up into multiple arguments).

See postinstall logs

Note how the path is /Users/jamie/Desktop/Snape's stuff (keep out)/Doomed side-projects/svelte-nodegui-starter/node_modules/@nodegui/qode:

$ npm install

> @nodegui/[email protected] postinstall /Users/jamie/Desktop/Snape's stuff (keep out)/Doomed side-projects/svelte-nodegui-starter/node_modules/@nodegui/qode
> node install.js

Cached archive already exists at /Users/jamie/Library/Caches/qode-nodejs/qode-darwin-x64-v2.1.0.tar.gz. Skipping download....
Extracting /Users/jamie/Library/Caches/qode-nodejs/qode-darwin-x64-v2.1.0.tar.gz to /Users/jamie/Desktop/Snape's stuff (keep out)/Doomed side-projects/svelte-nodegui-starter/node_modules/@nodegui/qode/binaries ...
Qode was setup successfully at : /Users/jamie/Desktop/Snape's stuff (keep out)/Doomed side-projects/svelte-nodegui-starter/node_modules/@nodegui/qode/binaries

> @nodegui/[email protected] postinstall /Users/jamie/Desktop/Snape's stuff (keep out)/Doomed side-projects/svelte-nodegui-starter/node_modules/@nodegui/nodegui
> cross-env npm run setupqt && (node ./scripts/skip.js || npm run build:addon)


> @nodegui/[email protected] setupqt /Users/jamie/Desktop/Snape's stuff (keep out)/Doomed side-projects/svelte-nodegui-starter/node_modules/@nodegui/nodegui
> cross-env node ./scripts/setupMiniQt.js

Minimal Qt 5.14.1 setup:
Archive already exists at /Users/jamie/Library/Caches/nodegui-mini-qt-nodejs/5.14.1-0-202001241000qttools-MacOS-MacOS_10_13-Clang-MacOS-MacOS_10_13-X86_64.7z. Skipping download....
Extracting /Users/jamie/Library/Caches/nodegui-mini-qt-nodejs/5.14.1-0-202001241000qttools-MacOS-MacOS_10_13-Clang-MacOS-MacOS_10_13-X86_64.7z to /Users/jamie/Desktop/Snape's stuff (keep out)/Doomed side-projects/svelte-nodegui-starter/node_modules/@nodegui/nodegui/miniqt ...
Archive already exists at /Users/jamie/Library/Caches/nodegui-mini-qt-nodejs/5.14.1-0-202001241000qtbase-MacOS-MacOS_10_13-Clang-MacOS-MacOS_10_13-X86_64.7z. Skipping download....
Extracting /Users/jamie/Library/Caches/nodegui-mini-qt-nodejs/5.14.1-0-202001241000qtbase-MacOS-MacOS_10_13-Clang-MacOS-MacOS_10_13-X86_64.7z to /Users/jamie/Desktop/Snape's stuff (keep out)/Doomed side-projects/svelte-nodegui-starter/node_modules/@nodegui/nodegui/miniqt ...
Archive already exists at /Users/jamie/Library/Caches/nodegui-mini-qt-nodejs/5.14.1-0-202001241000qtsvg-MacOS-MacOS_10_13-Clang-MacOS-MacOS_10_13-X86_64.7z. Skipping download....
Extracting /Users/jamie/Library/Caches/nodegui-mini-qt-nodejs/5.14.1-0-202001241000qtsvg-MacOS-MacOS_10_13-Clang-MacOS-MacOS_10_13-X86_64.7z to /Users/jamie/Desktop/Snape's stuff (keep out)/Doomed side-projects/svelte-nodegui-starter/node_modules/@nodegui/nodegui/miniqt ...
Qt Svg for Minimal Qt: 5.14.1 installation was setup successfully.  outDir: /Users/jamie/Desktop/Snape's stuff (keep out)/Doomed side-projects/svelte-nodegui-starter/node_modules/@nodegui/nodegui/miniqt
Qt Tools for Minimal Qt: 5.14.1 installation was setup successfully.  outDir: /Users/jamie/Desktop/Snape's stuff (keep out)/Doomed side-projects/svelte-nodegui-starter/node_modules/@nodegui/nodegui/miniqt
Qt Base for Minimal Qt: 5.14.1 installation was setup successfully.  outDir: /Users/jamie/Desktop/Snape's stuff (keep out)/Doomed side-projects/svelte-nodegui-starter/node_modules/@nodegui/nodegui/miniqt

> @nodegui/[email protected] build:addon /Users/jamie/Desktop/Snape's stuff (keep out)/Doomed side-projects/svelte-nodegui-starter/node_modules/@nodegui/nodegui
> cross-env CMAKE_BUILD_PARALLEL_LEVEL=8 cmake-js compile

[
'/usr/local/Cellar/node/14.6.0/bin/node',
"/Users/jamie/Desktop/Snape's stuff (keep out)/Doomed side-projects/svelte-nodegui-starter/node_modules/.bin/cmake-js",
'compile'
]
info TOOL Using Unix Makefiles generator.
info CMD CONFIGURE
info RUN cmake "/Users/jamie/Desktop/Snape's stuff (keep out)/Doomed side-projects/svelte-nodegui-starter/node_modules/@nodegui/nodegui" --no-warn-unused-cli -G"Unix Makefiles" -DCMAKE_JS_VERSION="6.1.0" -DCMAKE_BUILD_TYPE="Release" -DCMAKE_LIBRARY_OUTPUT_DIRECTORY="/Users/jamie/Desktop/Snape's stuff (keep out)/Doomed side-projects/svelte-nodegui-starter/node_modules/@nodegui/nodegui/build/Release" -DCMAKE_JS_INC="/Users/jamie/.cmake-js/node-x64/v14.6.0/include/node" -DCMAKE_JS_SRC="" -DNODE_RUNTIME="node" -DNODE_RUNTIMEVERSION="14.6.0" -DNODE_ARCH="x64" -DCMAKE_CXX_FLAGS="-D_DARWIN_USE_64_BIT_INODE=1 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DBUILDING_NODE_EXTENSION" -DCMAKE_SHARED_LINKER_FLAGS="-undefined dynamic_lookup"
Not searching for unused variables given on the command line.
-- The C compiler identification is AppleClang 12.0.0.12000032
-- The CXX compiler identification is AppleClang 12.0.0.12000032
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
[eval]:1
require('/Users/jamie/Desktop/Snape's stuff (keep out)/Doomed side-projects/svelte-nodegui-starter/node_modules/@nodegui/nodegui/config/qtConfig.js').qtCmakeDir
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

SyntaxError: missing ) after argument list
  at new Script (vm.js:100:7)
  at createScript (vm.js:267:10)
  at Object.runInThisContext (vm.js:315:10)
  at Object.<anonymous> ([eval]-wrapper:10:26)
  at Module._compile (internal/modules/cjs/loader.js:1236:30)
  at evalScript (internal/process/execution.js:98:25)
  at internal/main/eval_string.js:23:3
-- Using QT installation for nodegui_core QT_CMAKE_HOME_DIR:
CMake Error at config/qt.cmake:23 (find_package):
By not providing "FindQt5.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "Qt5", but
CMake did not find one.

Could not find a package configuration file provided by "Qt5" with any of
the following names:

  Qt5Config.cmake
  qt5-config.cmake

Add the installation prefix of "Qt5" to CMAKE_PREFIX_PATH or set "Qt5_DIR"
to a directory containing one of the above files.  If "Qt5" provides a
separate development package or SDK, be sure it has been installed.
Call Stack (most recent call first):
CMakeLists.txt:210 (AddQtSupport)


-- Configuring incomplete, errors occurred!
See also "/Users/jamie/Desktop/Snape's stuff (keep out)/Doomed side-projects/svelte-nodegui-starter/node_modules/@nodegui/nodegui/build/CMakeFiles/CMakeOutput.log".
info REP Build has been failed, trying to do a full rebuild.
info CMD CLEAN
info RUN cmake -E remove_directory "/Users/jamie/Desktop/Snape's stuff (keep out)/Doomed side-projects/svelte-nodegui-starter/node_modules/@nodegui/nodegui/build"
info CMD CONFIGURE
info RUN cmake "/Users/jamie/Desktop/Snape's stuff (keep out)/Doomed side-projects/svelte-nodegui-starter/node_modules/@nodegui/nodegui" --no-warn-unused-cli -G"Unix Makefiles" -DCMAKE_JS_VERSION="6.1.0" -DCMAKE_BUILD_TYPE="Release" -DCMAKE_LIBRARY_OUTPUT_DIRECTORY="/Users/jamie/Desktop/Snape's stuff (keep out)/Doomed side-projects/svelte-nodegui-starter/node_modules/@nodegui/nodegui/build/Release" -DCMAKE_JS_INC="/Users/jamie/.cmake-js/node-x64/v14.6.0/include/node" -DCMAKE_JS_SRC="" -DNODE_RUNTIME="node" -DNODE_RUNTIMEVERSION="14.6.0" -DNODE_ARCH="x64" -DCMAKE_CXX_FLAGS="-D_DARWIN_USE_64_BIT_INODE=1 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DBUILDING_NODE_EXTENSION" -DCMAKE_SHARED_LINKER_FLAGS="-undefined dynamic_lookup"
Not searching for unused variables given on the command line.
-- The C compiler identification is AppleClang 12.0.0.12000032
-- The CXX compiler identification is AppleClang 12.0.0.12000032
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc
-- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++
-- Check for working CXX compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
[eval]:1
require('/Users/jamie/Desktop/Snape's stuff (keep out)/Doomed side-projects/svelte-nodegui-starter/node_modules/@nodegui/nodegui/config/qtConfig.js').qtCmakeDir
      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^

SyntaxError: missing ) after argument list
  at new Script (vm.js:100:7)
  at createScript (vm.js:267:10)
  at Object.runInThisContext (vm.js:315:10)
  at Object.<anonymous> ([eval]-wrapper:10:26)
  at Module._compile (internal/modules/cjs/loader.js:1236:30)
  at evalScript (internal/process/execution.js:98:25)
  at internal/main/eval_string.js:23:3
-- Using QT installation for nodegui_core QT_CMAKE_HOME_DIR:
CMake Error at config/qt.cmake:23 (find_package):
By not providing "FindQt5.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "Qt5", but
CMake did not find one.

Could not find a package configuration file provided by "Qt5" with any of
the following names:

  Qt5Config.cmake
  qt5-config.cmake

Add the installation prefix of "Qt5" to CMAKE_PREFIX_PATH or set "Qt5_DIR"
to a directory containing one of the above files.  If "Qt5" provides a
separate development package or SDK, be sure it has been installed.
Call Stack (most recent call first):
CMakeLists.txt:210 (AddQtSupport)


-- Configuring incomplete, errors occurred!
See also "/Users/jamie/Desktop/Snape's stuff (keep out)/Doomed side-projects/svelte-nodegui-starter/node_modules/@nodegui/nodegui/build/CMakeFiles/CMakeOutput.log".
ERR! OMG Process terminated: 1
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @nodegui/[email protected] build:addon: `cross-env CMAKE_BUILD_PARALLEL_LEVEL=8 cmake-js compile`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the @nodegui/[email protected] build:addon script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.
npm WARN Local package.json exists, but node_modules missing, did you mean to install?

npm ERR! A complete log of this run can be found in:
npm ERR!     /Users/jamie/.npm/_logs/2021-04-05T14_22_20_315Z-debug.log
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! @nodegui/[email protected] postinstall: `cross-env npm run setupqt && (node ./scripts/skip.js || npm run build:addon)`
npm ERR! Exit status 1
npm ERR! 
npm ERR! Failed at the @nodegui/[email protected] postinstall 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!     /Users/jamie/.npm/_logs/2021-04-05T14_22_21_558Z-debug.log

To Reproduce

Attempt to install @nodegui/nodegui into a project placed at a path that contains spaces.

Expected behavior

Should be able to install regardless of filepath.

Desktop (please complete the following information):

  • OS: macOS Catalina
  • NodeGUI version: 0.30.2

Additional context

The same installation procedure works just fine if the path involves no spaces or brackets.

@sedwards2009
Copy link
Collaborator

The recent 0.45.4 release now downloads a prebuilt binary and doesn't compile the C++ code during install. Can you please try again with this new version?

@sedwards2009
Copy link
Collaborator

I got no response. If there is still a problem then a new issue can be opened.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants