Open Drjacky opened 8 months ago
Volta’s Node is actually just pulled straight from the Node CDN. I do not know why it wouldn’t support this. However, the node
actually invoked initially on the CLI is Volta’s “shim”, which intercepts that and redirects it to the correct version for you. It is possible that the postject
tool is trying to work directly with the file it finds on the path, in which case that would break. (That would also affect other tools which use “shims”, which is several of them, not just Volta!)
You might be right as when I ran the command by using the node directly:
/opt/homebrew/lib/node_modules/npm/bin/npx postject hello NODE_SEA_BLOB sea-prep.blob \
--sentinel-fuse NODE_SEA_FUSE_fce680ab2cc467b6e072b8b5df1996b2 \
--macho-segment-name NODE_SEA
node:internal/modules/cjs/loader:1147
throw err;
^
Error: Cannot find module '/Users/usernameee/volta/tools/image/node/21.3.0/bin/node_modules/npm/bin/npm-cli.js'
at Module._resolveFilename (node:internal/modules/cjs/loader:1144:15)
at Module._load (node:internal/modules/cjs/loader:985:27)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:135:12)
at node:internal/main/run_main_module:28:49 {
code: 'MODULE_NOT_FOUND',
requireStack: []
}
Node.js v21.3.0
Could not determine Node.js install directory
A side question:
Volta’s Node is actually just pulled straight from the Node CDN
is this the same for Yarn as well? cause the latest Yarn is 1.22.21 but volta shows Yarn: v3.6.0-git.20230603.hash-3c8237cb (default)
The latest Yarn is not 1.x but 3.x. The difference is how it is distributed since Yarn v2 I believe!
I got the same issue and this is what I did for workaround:
cp $(volta which node) hello
npx postject hello NODE_SEA_BLOB sea-prep.blob \
--sentinel-fuse NODE_SEA_FUSE_fce680ab2cc467b6e072b8b5df1996b2 \
--macho-segment-name NODE_SEA
I followed these steps to build a single executable application: https://nodejs.org/api/single-executable-applications.html but when I run
I get
Is the node in Volta identical to the official node? Does it support "Single executable applications"?