forked from olcxjas-softworks/LarpixClient
update electron to v43
This commit is contained in:
parent
68ac0beedf
commit
fb6c8b6ee9
5385 changed files with 513060 additions and 123058 deletions
97
electron/node_modules/node-gyp/README.md
generated
vendored
97
electron/node_modules/node-gyp/README.md
generated
vendored
|
|
@ -1,18 +1,18 @@
|
|||
# `node-gyp` - Node.js native addon build tool
|
||||
|
||||
[](https://github.com/nodejs/node-gyp/actions?query=workflow%3ATests+branch%3Amaster)
|
||||
[](https://github.com/nodejs/node-gyp/actions?query=workflow%3ATests+branch%3Amain)
|
||||

|
||||
|
||||
`node-gyp` is a cross-platform command-line tool written in Node.js for
|
||||
compiling native addon modules for Node.js. It contains a vendored copy of the
|
||||
[gyp-next](https://github.com/nodejs/gyp-next) project that was previously used
|
||||
by the Chromium team, extended to support the development of Node.js native addons.
|
||||
by the Chromium team and extended to support the development of Node.js native
|
||||
addons.
|
||||
|
||||
Note that `node-gyp` is _not_ used to build Node.js itself.
|
||||
|
||||
Multiple target versions of Node.js are supported (i.e. `0.8`, ..., `4`, `5`, `6`,
|
||||
etc.), regardless of what version of Node.js is actually installed on your system
|
||||
(`node-gyp` downloads the necessary development files or headers for the target version).
|
||||
All current and LTS target versions of Node.js are supported. Depending on what version of Node.js is actually installed on your system
|
||||
`node-gyp` downloads the necessary development files or headers for the target version. List of stable Node.js versions can be found on [Node.js website](https://nodejs.org/en/about/previous-releases).
|
||||
|
||||
## Features
|
||||
|
||||
|
|
@ -21,6 +21,9 @@ etc.), regardless of what version of Node.js is actually installed on your syste
|
|||
|
||||
## Installation
|
||||
|
||||
> [!Important]
|
||||
> Python >= v3.12 requires `node-gyp` >= v10
|
||||
|
||||
You can install `node-gyp` using `npm`:
|
||||
|
||||
``` bash
|
||||
|
|
@ -31,40 +34,44 @@ Depending on your operating system, you will need to install:
|
|||
|
||||
### On Unix
|
||||
|
||||
* Python v3.7, v3.8, v3.9, or v3.10
|
||||
* [A supported version of Python](https://devguide.python.org/versions/)
|
||||
* `make`
|
||||
* A proper C/C++ compiler toolchain, like [GCC](https://gcc.gnu.org)
|
||||
|
||||
### On macOS
|
||||
|
||||
**ATTENTION**: If your Mac has been _upgraded_ to macOS Catalina (10.15) or higher, please read [macOS_Catalina.md](macOS_Catalina.md).
|
||||
|
||||
* Python v3.7, v3.8, v3.9, or v3.10
|
||||
* `XCode Command Line Tools` which will install `clang`, `clang++`, and `make`.
|
||||
* Install the `XCode Command Line Tools` standalone by running `xcode-select --install`. -- OR --
|
||||
* [A supported version of Python](https://devguide.python.org/versions/)
|
||||
* `Xcode Command Line Tools` which will install `clang`, `clang++`, and `make`.
|
||||
* Install the `Xcode Command Line Tools` standalone by running `xcode-select --install`. -- OR --
|
||||
* Alternatively, if you already have the [full Xcode installed](https://developer.apple.com/xcode/download/), you can install the Command Line Tools under the menu `Xcode -> Open Developer Tool -> More Developer Tools...`.
|
||||
|
||||
|
||||
### On Windows
|
||||
|
||||
Install the current version of Python from the [Microsoft Store package](https://www.microsoft.com/en-us/p/python-310/9pjpw5ldxlz5).
|
||||
Install tools with [Chocolatey](https://chocolatey.org):
|
||||
``` bash
|
||||
choco install python visualstudio2022-workload-vctools -y
|
||||
```
|
||||
|
||||
Install tools and configuration manually:
|
||||
* Install Visual C++ Build Environment: [Visual Studio Build Tools](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools)
|
||||
(using "Visual C++ build tools" workload) or [Visual Studio Community](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community)
|
||||
(using the "Desktop development with C++" workload)
|
||||
Or install and configure Python and Visual Studio tools manually:
|
||||
|
||||
If the above steps didn't work for you, please visit [Microsoft's Node.js Guidelines for Windows](https://github.com/Microsoft/nodejs-guidelines/blob/master/windows-environment.md#compiling-native-addon-modules) for additional tips.
|
||||
* Follow the instructions in [Using Python on Windows](https://docs.python.org/3/using/windows.html) to install
|
||||
the current [version of Python](https://www.python.org/downloads/).
|
||||
|
||||
* Install Visual C++ Build Environment: For Visual Studio 2019 or later, use the `Desktop development with C++` workload from [Visual Studio Community](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=Community). For a version older than Visual Studio 2019, install [Visual Studio Build Tools](https://visualstudio.microsoft.com/thank-you-downloading-visual-studio/?sku=BuildTools) with the `Visual C++ build tools` option.
|
||||
|
||||
To target native ARM64 Node.js on Windows on ARM, add the components "Visual C++ compilers and libraries for ARM64" and "Visual C++ ATL for ARM64".
|
||||
|
||||
To use the native ARM64 C++ compiler on Windows on ARM, ensure that you have Visual Studio 2022 [17.4 or later](https://devblogs.microsoft.com/visualstudio/arm64-visual-studio-is-officially-here/) installed.
|
||||
|
||||
It's advised to install the following PowerShell module: [VSSetup](https://github.com/microsoft/vssetup.powershell) using `Install-Module VSSetup -Scope CurrentUser`.
|
||||
This will make Visual Studio detection logic use a more flexible and accessible method, avoiding PowerShell's `ConstrainedLanguage` mode.
|
||||
|
||||
### Configuring Python Dependency
|
||||
|
||||
`node-gyp` requires that you have installed a compatible version of Python, one of: v3.7, v3.8,
|
||||
v3.9, or v3.10. If you have multiple Python versions installed, you can identify which Python
|
||||
version `node-gyp` should use in one of the following ways:
|
||||
`node-gyp` requires that you have installed a [supported version of Python](https://devguide.python.org/versions/).
|
||||
If you have multiple versions of Python installed, you can identify which version
|
||||
`node-gyp` should use in one of the following ways:
|
||||
|
||||
1. by setting the `--python` command-line option, e.g.:
|
||||
|
||||
|
|
@ -73,24 +80,29 @@ node-gyp <command> --python /path/to/executable/python
|
|||
```
|
||||
|
||||
2. If `node-gyp` is called by way of `npm`, *and* you have multiple versions of
|
||||
Python installed, then you can set `npm`'s 'python' config key to the appropriate
|
||||
value:
|
||||
|
||||
Python installed, then you can set the `npm_config_python` environment variable
|
||||
to the appropriate path:
|
||||
``` bash
|
||||
npm config set python /path/to/executable/python
|
||||
export npm_config_python=/path/to/executable/python
|
||||
```
|
||||
Or on Windows:
|
||||
```console
|
||||
py --list-paths # To see the installed Python versions
|
||||
set npm_config_python=C:\path\to\python.exe # CMD
|
||||
$Env:npm_config_python="C:\path\to\python.exe" # PowerShell
|
||||
```
|
||||
|
||||
3. If the `PYTHON` environment variable is set to the path of a Python executable,
|
||||
then that version will be used, if it is a compatible version.
|
||||
then that version will be used if it is a supported version.
|
||||
|
||||
4. If the `NODE_GYP_FORCE_PYTHON` environment variable is set to the path of a
|
||||
Python executable, it will be used instead of any of the other configured or
|
||||
builtin Python search paths. If it's not a compatible version, no further
|
||||
built-in Python search paths. If it's not a compatible version, no further
|
||||
searching will be done.
|
||||
|
||||
### Build for Third Party Node.js Runtimes
|
||||
|
||||
When building modules for third party Node.js runtimes like Electron, which have
|
||||
When building modules for third-party Node.js runtimes like Electron, which have
|
||||
different build configurations from the official Node.js distribution, you
|
||||
should use `--dist-url` or `--nodedir` flags to specify the headers of the
|
||||
runtime to build for.
|
||||
|
|
@ -106,7 +118,7 @@ to work around configuration errors.
|
|||
|
||||
## How to Use
|
||||
|
||||
To compile your native addon, first go to its root directory:
|
||||
To compile your native addon first go to its root directory:
|
||||
|
||||
``` bash
|
||||
cd my_node_addon
|
||||
|
|
@ -168,7 +180,7 @@ The **[docs](./docs/)** directory contains additional documentation on specific
|
|||
Some additional resources for Node.js native addons and writing `gyp` configuration files:
|
||||
|
||||
* ["Going Native" a nodeschool.io tutorial](http://nodeschool.io/#goingnative)
|
||||
* ["Hello World" node addon example](https://github.com/nodejs/node/tree/master/test/addons/hello-world)
|
||||
* ["Hello World" node addon example](https://github.com/nodejs/node/tree/main/test/addons/hello-world)
|
||||
* [gyp user documentation](https://gyp.gsrc.io/docs/UserDocumentation.md)
|
||||
* [gyp input format reference](https://gyp.gsrc.io/docs/InputFormatReference.md)
|
||||
* [*"binding.gyp" files out in the wild* wiki page](./docs/binding.gyp-files-in-the-wild.md)
|
||||
|
|
@ -221,9 +233,24 @@ Some additional resources for Node.js native addons and writing `gyp` configurat
|
|||
|
||||
## Configuration
|
||||
|
||||
### package.json
|
||||
|
||||
Use the `config` object in your package.json with each key in the form `node_gyp_OPTION_NAME`. Any of the command
|
||||
options listed above can be set (dashes in option names should be replaced by underscores).
|
||||
|
||||
For example, to set `devdir` equal to `/tmp/.gyp`, your package.json would contain this:
|
||||
|
||||
```json
|
||||
{
|
||||
"config": {
|
||||
"node_gyp_devdir": "/tmp/.gyp"
|
||||
}
|
||||
}
|
||||
```
|
||||
|
||||
### Environment variables
|
||||
|
||||
Use the form `npm_config_OPTION_NAME` for any of the command options listed
|
||||
Use the form `npm_package_config_node_gyp_OPTION_NAME` for any of the command options listed
|
||||
above (dashes in option names should be replaced by underscores).
|
||||
|
||||
For example, to set `devdir` equal to `/tmp/.gyp`, you would:
|
||||
|
|
@ -231,16 +258,20 @@ For example, to set `devdir` equal to `/tmp/.gyp`, you would:
|
|||
Run this on Unix:
|
||||
|
||||
```bash
|
||||
export npm_config_devdir=/tmp/.gyp
|
||||
export npm_package_config_node_gyp_devdir=/tmp/.gyp
|
||||
```
|
||||
|
||||
Or this on Windows:
|
||||
|
||||
```console
|
||||
set npm_config_devdir=c:\temp\.gyp
|
||||
set npm_package_config_node_gyp_devdir=c:\temp\.gyp
|
||||
```
|
||||
|
||||
### `npm` configuration
|
||||
Note that in versions of npm before v11 it was possible to use the prefix `npm_config_` for
|
||||
environment variables. This was deprecated in npm@11 and will be removed in npm@12 so it
|
||||
is recommended to convert your environment variables to the above format.
|
||||
|
||||
### `npm` configuration for npm versions before v9
|
||||
|
||||
Use the form `OPTION_NAME` for any of the command options listed above.
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue