fix: remote folder compilation on macOS with node.js v20.18.0 (#231928)

* fix: remote folder compilation on macOS with node.js v20.18.0

* chore: update debian deps

* chore: update rpm deps
This commit is contained in:
Robo 2024-10-22 22:26:13 +09:00 committed by GitHub
parent b79ff2ede0
commit 804f450ca9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
7 changed files with 29 additions and 3 deletions

2
.nvmrc
View File

@ -1 +1 @@
20.17.0
20.18.0

View File

@ -39,6 +39,7 @@ exports.referenceGeneratedDepsByArch = {
'libdrm2 (>= 2.4.75)',
'libexpat1 (>= 2.1~beta3)',
'libgbm1 (>= 17.1.0~rc2)',
'libgdk-pixbuf-2.0-0 (>= 2.36.9)',
'libglib2.0-0 (>= 2.37.3)',
'libgtk-3-0 (>= 3.9.10)',
'libgtk-3-0 (>= 3.9.10) | libgtk-4-1',
@ -76,6 +77,7 @@ exports.referenceGeneratedDepsByArch = {
'libdrm2 (>= 2.4.75)',
'libexpat1 (>= 2.1~beta3)',
'libgbm1 (>= 17.1.0~rc2)',
'libgdk-pixbuf-2.0-0 (>= 2.36.9)',
'libglib2.0-0 (>= 2.37.3)',
'libgtk-3-0 (>= 3.9.10)',
'libgtk-3-0 (>= 3.9.10) | libgtk-4-1',
@ -114,6 +116,7 @@ exports.referenceGeneratedDepsByArch = {
'libdrm2 (>= 2.4.75)',
'libexpat1 (>= 2.1~beta3)',
'libgbm1 (>= 17.1.0~rc2)',
'libgdk-pixbuf-2.0-0 (>= 2.36.9)',
'libglib2.0-0 (>= 2.37.3)',
'libgtk-3-0 (>= 3.9.10)',
'libgtk-3-0 (>= 3.9.10) | libgtk-4-1',

View File

@ -39,6 +39,7 @@ export const referenceGeneratedDepsByArch = {
'libdrm2 (>= 2.4.75)',
'libexpat1 (>= 2.1~beta3)',
'libgbm1 (>= 17.1.0~rc2)',
'libgdk-pixbuf-2.0-0 (>= 2.36.9)',
'libglib2.0-0 (>= 2.37.3)',
'libgtk-3-0 (>= 3.9.10)',
'libgtk-3-0 (>= 3.9.10) | libgtk-4-1',
@ -76,6 +77,7 @@ export const referenceGeneratedDepsByArch = {
'libdrm2 (>= 2.4.75)',
'libexpat1 (>= 2.1~beta3)',
'libgbm1 (>= 17.1.0~rc2)',
'libgdk-pixbuf-2.0-0 (>= 2.36.9)',
'libglib2.0-0 (>= 2.37.3)',
'libgtk-3-0 (>= 3.9.10)',
'libgtk-3-0 (>= 3.9.10) | libgtk-4-1',
@ -114,6 +116,7 @@ export const referenceGeneratedDepsByArch = {
'libdrm2 (>= 2.4.75)',
'libexpat1 (>= 2.1~beta3)',
'libgbm1 (>= 17.1.0~rc2)',
'libgdk-pixbuf-2.0-0 (>= 2.36.9)',
'libglib2.0-0 (>= 2.37.3)',
'libgtk-3-0 (>= 3.9.10)',
'libgtk-3-0 (>= 3.9.10) | libgtk-4-1',

View File

@ -70,6 +70,7 @@ exports.referenceGeneratedDepsByArch = {
'libgcc_s.so.1(GCC_3.0)(64bit)',
'libgcc_s.so.1(GCC_3.3)(64bit)',
'libgcc_s.so.1(GCC_4.2.0)(64bit)',
'libgdk_pixbuf-2.0.so.0()(64bit)',
'libgio-2.0.so.0()(64bit)',
'libglib-2.0.so.0()(64bit)',
'libgobject-2.0.so.0()(64bit)',
@ -159,6 +160,7 @@ exports.referenceGeneratedDepsByArch = {
'libgcc_s.so.1(GCC_3.0)',
'libgcc_s.so.1(GCC_3.5)',
'libgcc_s.so.1(GCC_4.3.0)',
'libgdk_pixbuf-2.0.so.0',
'libgio-2.0.so.0',
'libglib-2.0.so.0',
'libgobject-2.0.so.0',
@ -253,6 +255,7 @@ exports.referenceGeneratedDepsByArch = {
'libgcc_s.so.1(GCC_3.3)(64bit)',
'libgcc_s.so.1(GCC_4.2.0)(64bit)',
'libgcc_s.so.1(GCC_4.5.0)(64bit)',
'libgdk_pixbuf-2.0.so.0()(64bit)',
'libgio-2.0.so.0()(64bit)',
'libglib-2.0.so.0()(64bit)',
'libgobject-2.0.so.0()(64bit)',

View File

@ -69,6 +69,7 @@ export const referenceGeneratedDepsByArch = {
'libgcc_s.so.1(GCC_3.0)(64bit)',
'libgcc_s.so.1(GCC_3.3)(64bit)',
'libgcc_s.so.1(GCC_4.2.0)(64bit)',
'libgdk_pixbuf-2.0.so.0()(64bit)',
'libgio-2.0.so.0()(64bit)',
'libglib-2.0.so.0()(64bit)',
'libgobject-2.0.so.0()(64bit)',
@ -158,6 +159,7 @@ export const referenceGeneratedDepsByArch = {
'libgcc_s.so.1(GCC_3.0)',
'libgcc_s.so.1(GCC_3.5)',
'libgcc_s.so.1(GCC_4.3.0)',
'libgdk_pixbuf-2.0.so.0',
'libgio-2.0.so.0',
'libglib-2.0.so.0',
'libgobject-2.0.so.0',
@ -252,6 +254,7 @@ export const referenceGeneratedDepsByArch = {
'libgcc_s.so.1(GCC_3.3)(64bit)',
'libgcc_s.so.1(GCC_4.2.0)(64bit)',
'libgcc_s.so.1(GCC_4.5.0)(64bit)',
'libgdk_pixbuf-2.0.so.0()(64bit)',
'libgio-2.0.so.0()(64bit)',
'libglib-2.0.so.0()(64bit)',
'libgobject-2.0.so.0()(64bit)',

View File

@ -76,6 +76,20 @@ function setNpmrcConfig(dir, env) {
}
}
// Force node-gyp to use process.config on macOS
// which defines clang variable as expected. Otherwise we
// run into compilation errors due to incorrect compiler
// configuration.
// NOTE: This means the process.config should contain
// the correct clang variable. So keep the version check
// in preinstall sync with this logic.
// Change was first introduced in https://github.com/nodejs/node/commit/6e0a2bb54c5bbeff0e9e33e1a0c683ed980a8a0f
if (dir === 'remote' && process.platform === 'darwin') {
env['npm_config_force_process_config'] = 'true';
} else {
delete env['npm_config_force_process_config'];
}
if (dir === 'build') {
env['npm_config_target'] = process.versions.node;
env['npm_config_arch'] = process.arch;

View File

@ -9,8 +9,8 @@ const minorNodeVersion = parseInt(nodeVersion[2]);
const patchNodeVersion = parseInt(nodeVersion[3]);
if (!process.env['VSCODE_SKIP_NODE_VERSION_CHECK']) {
if (majorNodeVersion < 20) {
console.error('\x1b[1;31m*** Please use latest Node.js v20 LTS for development.\x1b[0;0m');
if (majorNodeVersion < 20 || (majorNodeVersion === 20 && minorNodeVersion < 18)) {
console.error('\x1b[1;31m*** Please use Node.js v20.18.0 or later for development.\x1b[0;0m');
throw new Error();
}
}