Open devyetii opened 2 years ago
facing the smae issue with isolated-vm but it does'nt include any of the named dependencies, did you find any other work around?
Any progress?
Me too the same problem.
I use electron 16.0.5. and then try 17.0.0 also throw this error:
unresolved external symbol "__declspec(dllimport) public: class std::shared_ptr<class v8::BackingStore>
this node.lib is only 800K.
node 16.9.1's node-gyp's node.lib is 12M.
What does the electron-rebuild's node.lib come from??
Me too the same problem. I use electron 16.0.5. and then try 17.0.0 also throw this error:
unresolved external symbol "__declspec(dllimport) public: class std::shared_ptr<class v8::BackingStore>
this node.lib is only 800K. node 16.9.1's node-gyp's node.lib is 12M.What does the electron-rebuild's node.lib come from??
It turns out that if u do not need to use canvas in Node.js environment, then this error will not emerge. My problem is that I only use canvas in the renderer progress, but due to my misuse requiring it in the main progress, so please make sure whether you really need to rebuild node-canvas module first.
i need to build my C++ code to .node with node-gyp.
js input ArrayBuffer to c++, or C++ output to Js.
So i use the code
std::shared_ptr<BackingStore> data = args[1].As<ArrayBuffer>()->GetBackingStore();
I dont know what matter about canvas.
@JSoon 哦,所以成都人你看懂我说的了吗。 就这个electron-rebuild的node库就不对呀它自己缩减了。 我得用它编成跟electron版本一致的。 直接用node16.9.1编是能编过的。
你参考下我这边文章呢😀 @wyklion 希望由帮助.
@JSoon 文章在哪呢。。。
Did you guys find anything interesting? I sadly don't understand a single word and google translator doesn't help much.
Sorry that I couldn't follow up with this thread. Actually I separated the logic that requires canvas in a separate Nodejs Backend app and used OS APIs of electron to run it when required. Actually felt really sorry not managing to work this problem out.
Yeah, seems like this is the only viable option. Thanks anyways. If i find something interesting i'll let you know. and of course Happy Christmas
Sorry that I couldn't follow up with this thread. Actually I separated the logic that requires canvas in a separate Nodejs Backend app and used OS APIs of electron to run it when required. Actually felt really sorry not managing to work this problem out.
@devyetii Sorry i didn't know much about electron, what do you means about OS API ? Do you have a documentation or a code sample ? I'm struggling with the same error since 3 days
I found that: https://www.npmjs.com/package/@napi-rs/canvas could solve problems but i'm not sure
Seems same issue. https://github.com/electron/electron/issues/29893
@JSoon 哦,所以成都人你看懂我说的了吗。 就这个electron-rebuild的node库就不对呀它自己缩减了。 我得用它编成跟electron版本一致的。 直接用node16.9.1编是能编过的。
搞定了么大兄弟? @wyklion 我也遇见了
I am having the exact same issue. Is this still not resolved? It has been almost a year since initial Issue was opened. Has anyone figured out any viable workarounds? Thanks!
I found that: https://www.npmjs.com/package/@napi-rs/canvas could solve problems but i'm not sure
workd for me.
I case you use it: replace CanvasRenderingContext2D with SKRSContext2D
Full log on my machine: https://gist.github.com/hansSchall/621b030d3cbde724178b427707b1219a
This can now be closed with recent merged PR for node-canvas moving to the node-addon-api 🎉 https://github.com/Automattic/node-canvas/pull/2235
Well, I have a dead simple Electron app with only
canvas
andnan
as dependencies alongsideelectron
andreact
, running on a Windows 11 (21H2) machine.What I'm trying to do is to rebuild
canvas
for electron usingelectron-rebuild
. However, It's failing with the following error :Here are ALL my system/app information
Operating System
Architecture : x64 (Typical Intel Core-I7 processor 9750H)
Global Environment
Application Details
What I was doing
After running
npm i
I rannpm run rebuild
which delegates toelectron-rebuild -f -w canvas
, and the error showed up along with some other warningsWhat I was expecting
canvas
to be built correctly to the correct version of electron I'm using, for this error to stop ruining my business.Waiting for your reply.
P.S. This is how the executon of
electron-rebuild
looks like on Git Bash / CMD on windows (also the same applies forelectron-rebuild.cmd
)