Giter Site home page Giter Site logo

Comments (24)

IGassmann avatar IGassmann commented on July 24, 2024 4

Still happening with the latest version of node-keytar after building an electron x64 app.

from node-keytar.

AndreBlumenthal avatar AndreBlumenthal commented on July 24, 2024 2

same error for me

from node-keytar.

xp6530 avatar xp6530 commented on July 24, 2024 2

same error

from node-keytar.

levinunnink avatar levinunnink commented on July 24, 2024 2

Getting the same error. electron-rebuild had no results.

from node-keytar.

felixrieseberg avatar felixrieseberg commented on July 24, 2024 1

I'm running into the same issue, but I'm also not sure how to fix it.

from node-keytar.

HanaHsu avatar HanaHsu commented on July 24, 2024 1

rebuild with electron-rebuild works for me

.\node_modules\.bin\electron-rebuild.cmd -w keytar -p -f

from node-keytar.

surajreddy avatar surajreddy commented on July 24, 2024 1

I am still running into this while building a windows package on a Mac OS. Is there a specific way keytar needs to be rebuilt if doing this?

from node-keytar.

adeperio avatar adeperio commented on July 24, 2024 1

Hi everyone, I am also getting this issue (the one @IGassmann is reporting). I am using electron 4.0.4 and keytar 4.4.0. I am using electron-builder to build a 64 bit windows package. But when I run the app (the package is successfully built, problem happens on app execution) I get this error. Not an issue on mac

Any ideas how I can work around this at the moment?

from node-keytar.

craftzdog avatar craftzdog commented on July 24, 2024

i got same error and managed that.
You may run 32bit of keytar on 64bit of electron.
To check which arch the node(electron) is running on:

console.log(process.arch);

also check out electron-rebuild for building module instead of using node-gyp directly.

from node-keytar.

gitmitch avatar gitmitch commented on July 24, 2024

In my experience, I had to build the Windows version of my electron app on windows in order for modules to be compiled and packaged properly. So, I built my package for Mac on Mac, and the windows app on windows.

I don't think this is necessary if you don't have any native modules. In that case you can build and package on one platform for all platforms. But for native modules, I was only able to get it to work by building and packaging on the same platform that I'm targeting.

I've heard that you might be able to use wine on mac to build and compile native modules into electron apps. I tried it, but it didn't work for me.

Microsoft provides free VM you can use for these purposes

from node-keytar.

surajreddy avatar surajreddy commented on July 24, 2024

Running electron-rebuild with yarn electron-rebuild seemed to do the trick for us in the end. We were trying to run electron-rebuild with a specific version, which did not seem to play well with keytar.

TL;DR:

  • Make sure you're compiling on a windows machine
  • You will need windows build tools installed to compile modules on windows.
  • If you're having issues with keytar, install electron-rebuild and run electron-rebuild in the folder of your app with the command $(npm bin)/electron-rebuild or yarn electron-rebuild if you're using yarn.

from node-keytar.

surajreddy avatar surajreddy commented on July 24, 2024

@xp6530 @levinunnink can you try deleting your node_modules directory and trying again?

from node-keytar.

popod avatar popod commented on July 24, 2024

As I read here, there is nothing to do to compile an electron app for Windows from macOS and compile the Windows version should be done on Windows ? Right ?

If no, could someone help me ? I've the "Error: %1 is not a valid Win32 application" error from the first post who the app works fine on mac but not in windows. Trying electron-rebuild but don't works..

from node-keytar.

jamarw avatar jamarw commented on July 24, 2024

Hi all, did anyone have any luck with this? I'm hitting the same error and have tried all the suggestions above. Thanks

from node-keytar.

popod avatar popod commented on July 24, 2024

@jamarw user keytar-prebuild ! See #67. This works for me.

from node-keytar.

jamarw avatar jamarw commented on July 24, 2024

Thanks @popod ! Appreciate the help.

from node-keytar.

Xosmond avatar Xosmond commented on July 24, 2024

So I have to compile electron on a Windows machine to get correct Windows executables? Thats a problem because i don't have one

from node-keytar.

IGassmann avatar IGassmann commented on July 24, 2024

This now should be resolved thanks to #67.

from node-keytar.

shiftkey avatar shiftkey commented on July 24, 2024

@IGassmann which version of Electron are you trying to target?

from node-keytar.

charlag avatar charlag commented on July 24, 2024

Same as @adeperio but weirdly it happens only in some conditions, could only reproduce it with CI now
electron 8, keytar 5.2.0, electron-builder 22.3.3
https://github.com/tutao/tutanota/blob/efd3a3ff75f9be485d7f371c4e3e05eb08f3935c/package.json#L26

from node-keytar.

charlag avatar charlag commented on July 24, 2024

We still didn't find out the reason but might be that manually clearing node_modules may help (even with npm ci)

from node-keytar.

woss avatar woss commented on July 24, 2024

i'm using the "keytar": "^7.3.0", on windows with "electron": "11.1.1", and "@electron-forge/cli": "^6.0.0-beta.54",.
Still getting .webpack\main/c33748addbc1c5372b52757c2542d3fd.node is not a valid Win32 application. where c33748addbc1c5372b52757c2542d3fd.node is keytar.node any idea what is the solution and possible alternative to keytar?

Thanks

from node-keytar.

tomboolean avatar tomboolean commented on July 24, 2024

So, we are trying to automate our builds using electron-builder's provided docker image electronuserland/builder:wine as they show in their docs.

We're getting the same error in the console:

Uncaught Error: Cannot open C:\Program Files\peerlogic\resources\app.asar\dist\renderer\_nuxt\keytar.node: Error: C:\Users\Administrator\AppData\Local\Temp\2\24875caf-7428-4310-817f-9e24ef377df9.tmp.node is not a valid Win32 application.
C:\Users\Administrator\AppData\Local\Temp\2\24875caf-7428-4310-817f-9e24ef377df9.tmp.node

I'm wondering if there is a way for the prebuild to not try and detect what OS it's on and specify it directly? Or the prebuild can recognize Wine is installed and instead build for Windows?

For reference, here is the output from the prebuild of keytar inside the wine docker container. As you can see it's building all 10 versions from v75 to v85 as linux instead of windows: prebuilds/keytar-v7.3.0-electron-v*-linux-x64.tar.gz

from node-keytar.

tomboolean avatar tomboolean commented on July 24, 2024
yarn run v1.22.4
$ prebuild -t 7.0.0 -t 8.0.0 -t 9.0.0 -t 10.0.0 -t 11.0.0 -r electron --strip
prebuild info begin Prebuild version 10.0.1
prebuild info build Preparing to prebuild [email protected] for electron 7.0.0 on linux-x64 using node-gyp
prebuild info find Python using Python version 3.6.9 found at "/usr/bin/python3"
prebuild http GET https://atom.io/download/electron/v7.0.0/node-v7.0.0-headers.tar.gz
prebuild http 200 https://atom.io/download/electron/v7.0.0/node-v7.0.0-headers.tar.gz
prebuild http GET https://atom.io/download/electron/v7.0.0/SHASUMS256.txt
prebuild http 200 https://atom.io/download/electron/v7.0.0/SHASUMS256.txt
prebuild info spawn /usr/bin/python3
prebuild info spawn args [
prebuild info spawn args   '/usr/local/share/.config/yarn/global/node_modules/node-gyp/gyp/gyp_main.py',
prebuild info spawn args   'binding.gyp',
prebuild info spawn args   '-f',
prebuild info spawn args   'make',
prebuild info spawn args   '-I',
prebuild info spawn args   '/builds/peerlogic/peerlogic-desktop-app/node_modules/keytar/build/config.gypi',
prebuild info spawn args   '-I',
prebuild info spawn args   '/usr/local/share/.config/yarn/global/node_modules/node-gyp/addon.gypi',
prebuild info spawn args   '-I',
prebuild info spawn args   '/tmp/prebuild/electron/7.0.0/include/node/common.gypi',
prebuild info spawn args   '-Dlibrary=shared_library',
prebuild info spawn args   '-Dvisibility=default',
prebuild info spawn args   '-Dnode_root_dir=/tmp/prebuild/electron/7.0.0',
prebuild info spawn args   '-Dnode_gyp_dir=/usr/local/share/.config/yarn/global/node_modules/node-gyp',
prebuild info spawn args   '-Dnode_lib_file=/tmp/prebuild/electron/7.0.0/<(target_arch)/node.lib',
prebuild info spawn args   '-Dmodule_root_dir=/builds/peerlogic/peerlogic-desktop-app/node_modules/keytar',
prebuild info spawn args   '-Dnode_engine=v8',
prebuild info spawn args   '--depth=.',
prebuild info spawn args   '--no-parallel',
prebuild info spawn args   '--generator-output',
prebuild info spawn args   'build',
prebuild info spawn args   '-Goutput_dir=.'
prebuild info spawn args ]
prebuild info spawn make
prebuild info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory '/builds/peerlogic/peerlogic-desktop-app/node_modules/keytar/build'
  CXX(target) Release/obj.target/keytar/src/async.o
  CXX(target) Release/obj.target/keytar/src/main.o
  CXX(target) Release/obj.target/keytar/src/keytar_posix.o
  SOLINK_MODULE(target) Release/obj.target/keytar.node
  COPY Release/keytar.node
make: Leaving directory '/builds/peerlogic/peerlogic-desktop-app/node_modules/keytar/build'
prebuild info build Stripping debug information from build/Release/keytar.node
prebuild info build Packing build/Release/keytar.node into prebuilds/keytar-v7.3.0-electron-v75-linux-x64.tar.gz
prebuild info build Prebuild written to prebuilds/keytar-v7.3.0-electron-v75-linux-x64.tar.gz
prebuild info build Preparing to prebuild [email protected] for electron 8.0.0 on linux-x64 using node-gyp
prebuild info find Python using Python version 3.6.9 found at "/usr/bin/python3"
prebuild http GET https://atom.io/download/electron/v8.0.0/node-v8.0.0-headers.tar.gz
prebuild http 200 https://atom.io/download/electron/v8.0.0/node-v8.0.0-headers.tar.gz
prebuild http GET https://atom.io/download/electron/v8.0.0/SHASUMS256.txt
prebuild http 200 https://atom.io/download/electron/v8.0.0/SHASUMS256.txt
prebuild info spawn /usr/bin/python3
prebuild info spawn args [
prebuild info spawn args   '/usr/local/share/.config/yarn/global/node_modules/node-gyp/gyp/gyp_main.py',
prebuild info spawn args   'binding.gyp',
prebuild info spawn args   '-f',
prebuild info spawn args   'make',
prebuild info spawn args   '-I',
prebuild info spawn args   '/builds/peerlogic/peerlogic-desktop-app/node_modules/keytar/build/config.gypi',
prebuild info spawn args   '-I',
prebuild info spawn args   '/usr/local/share/.config/yarn/global/node_modules/node-gyp/addon.gypi',
prebuild info spawn args   '-I',
prebuild info spawn args   '/tmp/prebuild/electron/8.0.0/include/node/common.gypi',
prebuild info spawn args   '-Dlibrary=shared_library',
prebuild info spawn args   '-Dvisibility=default',
prebuild info spawn args   '-Dnode_root_dir=/tmp/prebuild/electron/8.0.0',
prebuild info spawn args   '-Dnode_gyp_dir=/usr/local/share/.config/yarn/global/node_modules/node-gyp',
prebuild info spawn args   '-Dnode_lib_file=/tmp/prebuild/electron/8.0.0/<(target_arch)/node.lib',
prebuild info spawn args   '-Dmodule_root_dir=/builds/peerlogic/peerlogic-desktop-app/node_modules/keytar',
prebuild info spawn args   '-Dnode_engine=v8',
prebuild info spawn args   '--depth=.',
prebuild info spawn args   '--no-parallel',
prebuild info spawn args   '--generator-output',
prebuild info spawn args   'build',
prebuild info spawn args   '-Goutput_dir=.'
prebuild info spawn args ]
prebuild info spawn make
prebuild info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory '/builds/peerlogic/peerlogic-desktop-app/node_modules/keytar/build'
  CXX(target) Release/obj.target/keytar/src/async.o
  CXX(target) Release/obj.target/keytar/src/main.o
  CXX(target) Release/obj.target/keytar/src/keytar_posix.o
  SOLINK_MODULE(target) Release/obj.target/keytar.node
  COPY Release/keytar.node
make: Leaving directory '/builds/peerlogic/peerlogic-desktop-app/node_modules/keytar/build'
prebuild info build Stripping debug information from build/Release/keytar.node
prebuild info build Packing build/Release/keytar.node into prebuilds/keytar-v7.3.0-electron-v76-linux-x64.tar.gz
prebuild info build Prebuild written to prebuilds/keytar-v7.3.0-electron-v76-linux-x64.tar.gz
prebuild info build Preparing to prebuild [email protected] for electron 9.0.0 on linux-x64 using node-gyp
prebuild info find Python using Python version 3.6.9 found at "/usr/bin/python3"
prebuild http GET https://atom.io/download/electron/v9.0.0/node-v9.0.0-headers.tar.gz
prebuild http 200 https://atom.io/download/electron/v9.0.0/node-v9.0.0-headers.tar.gz
prebuild http GET https://atom.io/download/electron/v9.0.0/SHASUMS256.txt
prebuild http 200 https://atom.io/download/electron/v9.0.0/SHASUMS256.txt
prebuild info spawn /usr/bin/python3
prebuild info spawn args [
prebuild info spawn args   '/usr/local/share/.config/yarn/global/node_modules/node-gyp/gyp/gyp_main.py',
prebuild info spawn args   'binding.gyp',
prebuild info spawn args   '-f',
prebuild info spawn args   'make',
prebuild info spawn args   '-I',
prebuild info spawn args   '/builds/peerlogic/peerlogic-desktop-app/node_modules/keytar/build/config.gypi',
prebuild info spawn args   '-I',
prebuild info spawn args   '/usr/local/share/.config/yarn/global/node_modules/node-gyp/addon.gypi',
prebuild info spawn args   '-I',
prebuild info spawn args   '/tmp/prebuild/electron/9.0.0/include/node/common.gypi',
prebuild info spawn args   '-Dlibrary=shared_library',
prebuild info spawn args   '-Dvisibility=default',
prebuild info spawn args   '-Dnode_root_dir=/tmp/prebuild/electron/9.0.0',
prebuild info spawn args   '-Dnode_gyp_dir=/usr/local/share/.config/yarn/global/node_modules/node-gyp',
prebuild info spawn args   '-Dnode_lib_file=/tmp/prebuild/electron/9.0.0/<(target_arch)/node.lib',
prebuild info spawn args   '-Dmodule_root_dir=/builds/peerlogic/peerlogic-desktop-app/node_modules/keytar',
prebuild info spawn args   '-Dnode_engine=v8',
prebuild info spawn args   '--depth=.',
prebuild info spawn args   '--no-parallel',
prebuild info spawn args   '--generator-output',
prebuild info spawn args   'build',
prebuild info spawn args   '-Goutput_dir=.'
prebuild info spawn args ]
prebuild info spawn make
prebuild info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory '/builds/peerlogic/peerlogic-desktop-app/node_modules/keytar/build'
  CXX(target) Release/obj.target/keytar/src/async.o
  CXX(target) Release/obj.target/keytar/src/main.o
  CXX(target) Release/obj.target/keytar/src/keytar_posix.o
  SOLINK_MODULE(target) Release/obj.target/keytar.node
  COPY Release/keytar.node
make: Leaving directory '/builds/peerlogic/peerlogic-desktop-app/node_modules/keytar/build'
prebuild info build Stripping debug information from build/Release/keytar.node
prebuild info build Packing build/Release/keytar.node into prebuilds/keytar-v7.3.0-electron-v80-linux-x64.tar.gz
prebuild info build Prebuild written to prebuilds/keytar-v7.3.0-electron-v80-linux-x64.tar.gz
prebuild info build Preparing to prebuild [email protected] for electron 10.0.0 on linux-x64 using node-gyp
prebuild info find Python using Python version 3.6.9 found at "/usr/bin/python3"
prebuild http GET https://atom.io/download/electron/v10.0.0/node-v10.0.0-headers.tar.gz
prebuild http 200 https://atom.io/download/electron/v10.0.0/node-v10.0.0-headers.tar.gz
prebuild http GET https://atom.io/download/electron/v10.0.0/SHASUMS256.txt
prebuild http 200 https://atom.io/download/electron/v10.0.0/SHASUMS256.txt
prebuild info spawn /usr/bin/python3
prebuild info spawn args [
prebuild info spawn args   '/usr/local/share/.config/yarn/global/node_modules/node-gyp/gyp/gyp_main.py',
prebuild info spawn args   'binding.gyp',
prebuild info spawn args   '-f',
prebuild info spawn args   'make',
prebuild info spawn args   '-I',
prebuild info spawn args   '/builds/peerlogic/peerlogic-desktop-app/node_modules/keytar/build/config.gypi',
prebuild info spawn args   '-I',
prebuild info spawn args   '/usr/local/share/.config/yarn/global/node_modules/node-gyp/addon.gypi',
prebuild info spawn args   '-I',
prebuild info spawn args   '/tmp/prebuild/electron/10.0.0/include/node/common.gypi',
prebuild info spawn args   '-Dlibrary=shared_library',
prebuild info spawn args   '-Dvisibility=default',
prebuild info spawn args   '-Dnode_root_dir=/tmp/prebuild/electron/10.0.0',
prebuild info spawn args   '-Dnode_gyp_dir=/usr/local/share/.config/yarn/global/node_modules/node-gyp',
prebuild info spawn args   '-Dnode_lib_file=/tmp/prebuild/electron/10.0.0/<(target_arch)/node.lib',
prebuild info spawn args   '-Dmodule_root_dir=/builds/peerlogic/peerlogic-desktop-app/node_modules/keytar',
prebuild info spawn args   '-Dnode_engine=v8',
prebuild info spawn args   '--depth=.',
prebuild info spawn args   '--no-parallel',
prebuild info spawn args   '--generator-output',
prebuild info spawn args   'build',
prebuild info spawn args   '-Goutput_dir=.'
prebuild info spawn args ]
prebuild info spawn make
prebuild info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory '/builds/peerlogic/peerlogic-desktop-app/node_modules/keytar/build'
  CXX(target) Release/obj.target/keytar/src/async.o
  CXX(target) Release/obj.target/keytar/src/main.o
  CXX(target) Release/obj.target/keytar/src/keytar_posix.o
  SOLINK_MODULE(target) Release/obj.target/keytar.node
  COPY Release/keytar.node
make: Leaving directory '/builds/peerlogic/peerlogic-desktop-app/node_modules/keytar/build'
prebuild info build Stripping debug information from build/Release/keytar.node
prebuild info build Packing build/Release/keytar.node into prebuilds/keytar-v7.3.0-electron-v82-linux-x64.tar.gz
prebuild info build Prebuild written to prebuilds/keytar-v7.3.0-electron-v82-linux-x64.tar.gz
prebuild info build Preparing to prebuild [email protected] for electron 11.0.0 on linux-x64 using node-gyp
prebuild info find Python using Python version 3.6.9 found at "/usr/bin/python3"
prebuild http GET https://atom.io/download/electron/v11.0.0/node-v11.0.0-headers.tar.gz
prebuild http 200 https://atom.io/download/electron/v11.0.0/node-v11.0.0-headers.tar.gz
prebuild http GET https://atom.io/download/electron/v11.0.0/SHASUMS256.txt
prebuild http 200 https://atom.io/download/electron/v11.0.0/SHASUMS256.txt
prebuild info spawn /usr/bin/python3
prebuild info spawn args [
prebuild info spawn args   '/usr/local/share/.config/yarn/global/node_modules/node-gyp/gyp/gyp_main.py',
prebuild info spawn args   'binding.gyp',
prebuild info spawn args   '-f',
prebuild info spawn args   'make',
prebuild info spawn args   '-I',
prebuild info spawn args   '/builds/peerlogic/peerlogic-desktop-app/node_modules/keytar/build/config.gypi',
prebuild info spawn args   '-I',
prebuild info spawn args   '/usr/local/share/.config/yarn/global/node_modules/node-gyp/addon.gypi',
prebuild info spawn args   '-I',
prebuild info spawn args   '/tmp/prebuild/electron/11.0.0/include/node/common.gypi',
prebuild info spawn args   '-Dlibrary=shared_library',
prebuild info spawn args   '-Dvisibility=default',
prebuild info spawn args   '-Dnode_root_dir=/tmp/prebuild/electron/11.0.0',
prebuild info spawn args   '-Dnode_gyp_dir=/usr/local/share/.config/yarn/global/node_modules/node-gyp',
prebuild info spawn args   '-Dnode_lib_file=/tmp/prebuild/electron/11.0.0/<(target_arch)/node.lib',
prebuild info spawn args   '-Dmodule_root_dir=/builds/peerlogic/peerlogic-desktop-app/node_modules/keytar',
prebuild info spawn args   '-Dnode_engine=v8',
prebuild info spawn args   '--depth=.',
prebuild info spawn args   '--no-parallel',
prebuild info spawn args   '--generator-output',
prebuild info spawn args   'build',
prebuild info spawn args   '-Goutput_dir=.'
prebuild info spawn args ]
prebuild info spawn make
prebuild info spawn args [ 'BUILDTYPE=Release', '-C', 'build' ]
make: Entering directory '/builds/peerlogic/peerlogic-desktop-app/node_modules/keytar/build'
  CXX(target) Release/obj.target/keytar/src/async.o
  CXX(target) Release/obj.target/keytar/src/main.o
  CXX(target) Release/obj.target/keytar/src/keytar_posix.o
  SOLINK_MODULE(target) Release/obj.target/keytar.node
  COPY Release/keytar.node
make: Leaving directory '/builds/peerlogic/peerlogic-desktop-app/node_modules/keytar/build'
prebuild info build Stripping debug information from build/Release/keytar.node
prebuild info build Packing build/Release/keytar.node into prebuilds/keytar-v7.3.0-electron-v85-linux-x64.tar.gz
prebuild info build Prebuild written to prebuilds/keytar-v7.3.0-electron-v85-linux-x64.tar.gz```

from node-keytar.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.