source: general/genlib/nodejs.xml@ a0e08b2

11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18 xry111/xf86-video-removal
Last change on this file since a0e08b2 was 3f2db3a6, checked in by Pierre Labastie <pierre.labastie@…>, 19 months ago

Remove sect1info tags

They only contain a date tag that is nowhere used.

  • Property mode set to 100644
File size: 7.7 KB
RevLine 
[4464d405]1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
[2d4d59a]7 <!ENTITY nodejs-download-http "https://nodejs.org/dist/v&nodejs-version;/node-v&nodejs-version;.tar.xz">
[4464d405]8 <!ENTITY nodejs-download-ftp " ">
[38277fd]9 <!ENTITY nodejs-md5sum "7322f55ce420f49378515b67d73faf88">
10 <!ENTITY nodejs-size "37 MB">
11 <!ENTITY nodejs-buildsize "930 MB (add 29 MB for tests)">
12 <!ENTITY nodejs-time "18 SBU (add 4.6 SBU for tests: both using parallelism=4 and 4 CPUs online, parts of the tests will use all online CPUs)">
[4464d405]13]>
14
15<sect1 id="nodejs" xreflabel="nodejs-&nodejs-version;">
16 <?dbhtml filename="nodejs.html"?>
17
18
19 <title>Node.js-&nodejs-version;</title>
20
21 <indexterm zone="nodejs">
22 <primary sortas="a-nodejs">nodejs</primary>
23 </indexterm>
24
25 <sect2 role="package">
26 <title>Introduction to Node.js</title>
27
28 <para>
29 <application>Node.js</application> is a
30 <application>JavaScript</application> runtime built on
[8558044]31 <application>Chrome's</application> V8 JavaScript engine.
[4464d405]32 </para>
33
[0ddf4e7]34 &lfs112_checked;
[4464d405]35
36 <bridgehead renderas="sect3">Package Information</bridgehead>
37 <itemizedlist spacing="compact">
38 <listitem>
39 <para>
40 Download (HTTP): <ulink url="&nodejs-download-http;"/>
41 </para>
42 </listitem>
43 <listitem>
44 <para>
45 Download (FTP): <ulink url="&nodejs-download-ftp;"/>
46 </para>
47 </listitem>
48 <listitem>
49 <para>
50 Download MD5 sum: &nodejs-md5sum;
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download size: &nodejs-size;
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Estimated disk space required: &nodejs-buildsize;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Estimated build time: &nodejs-time;
66 </para>
67 </listitem>
68 </itemizedlist>
[25ef5f7]69
[dda8ca6]70<!--
[b01309e7]71 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
72 <itemizedlist spacing="compact">
73 <listitem>
74 <para>
75 Required patch:
76 <ulink url="&patch-root;/node-v&nodejs-version;-icu_69-1.patch"/>
77 </para>
78 </listitem>
79 </itemizedlist>
[dda8ca6]80-->
[25ef5f7]81
[4464d405]82 <bridgehead renderas="sect3">Node.js Dependencies</bridgehead>
83
84 <bridgehead renderas="sect4">Required</bridgehead>
85 <para role="required">
[8558044]86 <xref linkend="which"/>
[4464d405]87 </para>
88
89 <bridgehead renderas="sect4">Recommended</bridgehead>
90 <para role="recommended">
[bbaebd0]91 <xref linkend="c-ares"/>,
[52e582c9]92 <xref linkend="icu"/>,
93 <xref linkend="libuv"/>, and
94 <xref linkend="nghttp2"/>
[4464d405]95 </para>
96
97 <bridgehead renderas="sect4">Optional</bridgehead>
98 <para role="optional">
[ee1676a]99 <ulink url="https://github.com/nodejs/http-parser">http-parser</ulink> and
[f02583f]100 <ulink url="https://www.npmjs.com/">npm</ulink> (an internal copy of
101 <command>npm</command> will be installed if not present)
[4464d405]102 </para>
103
104 <para condition="html" role="usernotes">
105 User Notes: <ulink url="&blfs-wiki;/nodejs"/>
106 </para>
107
108 </sect2>
109
110 <sect2 role="installation">
111 <title>Installation of Node.js</title>
112
[dda8ca6]113<!--
[25ef5f7]114 <para>
115 First, apply a patch to fix building Node.js against ICU-69.1:
116 </para>
117
118<screen><userinput>patch -Np1 -i ../node-v&nodejs-version;-icu_69-1.patch</userinput></screen>
[dda8ca6]119-->
[38277fd]120 <para>
121 The <command>configure</command> script for this version of Node.js is
122 not aware of Python-3.11. If you have installed <xref linkend="python3"/>,
[30824f0b]123 apply the following change:
[38277fd]124 </para>
125
[5e0cd08]126<screen><userinput>sed -e '/=.*exec/a command -v python3.11 >/dev/null &amp;&amp; exec python3.11 "$0" "$@"' \
127 -e s'/((/((3, 11), (/' \
128 -i configure</userinput></screen>
[25ef5f7]129
[4464d405]130 <para>
131 Build <application>Node.js</application> by running the following
132 commands:
133 </para>
134
[de66d05]135<screen><userinput>./configure --prefix=/usr \
[ccec040c]136 --shared-cares \
137 --shared-libuv \
138 --shared-openssl \
139 --shared-nghttp2 \
140 --shared-zlib \
141 --with-intl=system-icu &amp;&amp;
[4464d405]142make</userinput></screen>
143
[d56e7df]144 <para>
[ee1676a]145 To test the results, issue: <command>make test-only</command>.
[88fbb40]146 One test, test-socket-write-after-fin-error, out of over 3600 tests is known to fail.
[6914a417]147 </para>
[4464d405]148
149 <para>
150 Now, as the <systemitem class="username">root</systemitem> user:
151 </para>
152
153<screen role="root"><userinput>make install &amp;&amp;
154ln -sf node /usr/share/doc/node-&nodejs-version;</userinput></screen>
155 </sect2>
156
157 <sect2 role="commands">
158 <title>Command Explanations</title>
159
[d56e7df]160 <para>
[6cbbb2d6]161 <parameter>--with-intl=system-icu</parameter>: use the system version
[d56e7df]162 of <application>icu</application>. Other values are
163 <option>full-icu</option> (to build a local, full
164 <application>icu</application> library) and <option>small-icu</option>
165 (to build a local, minimal <application>icu</application> library).
166 </para>
[4464d405]167
[d56e7df]168 <para>
[087639a]169 <parameter>--shared-{cares,libuv,nghttp2,openssl,zlib}</parameter>:
[d56e7df]170 use the system installed libraries instead of local copies.
171 </para>
[4464d405]172
[d56e7df]173 <para>
174 <option>--without-npm</option>: do not build
175 <application>npm</application> (use if you'd like to build a separate
176 <application>npm</application> later).
177 </para>
[4464d405]178
[d56e7df]179 <para>
180 <option>--shared-http-parser</option>: use the system
181 installed library instead of a local copy.
182 </para>
[4464d405]183
184 </sect2>
185
186 <sect2 role="content">
187 <title>Contents</title>
188
189 <segmentedlist>
190 <segtitle>Installed Programs</segtitle>
191 <segtitle>Installed Library</segtitle>
192 <segtitle>Installed Directories</segtitle>
193
194 <seglistitem>
195 <seg>
[38277fd]196 corepack, node, npm, and npx
[4464d405]197 </seg>
198 <seg>
199 None
200 </seg>
201 <seg>
[6a43232]202 /usr/include/node,
[c2051dbd]203 /usr/lib/node_modules/{corepack,npm},
[ee1676a]204 /usr/share/doc/{node,node-&nodejs-version;}, and
[6a43232]205 /usr/share/systemtap/tapset
[4464d405]206 </seg>
207 </seglistitem>
208 </segmentedlist>
209
210 <variablelist>
211 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
212 <?dbfo list-presentation="list"?>
213 <?dbhtml list-presentation="table"?>
214
[38277fd]215 <varlistentry id="corepack">
216 <term><command>corepack</command></term>
217 <listitem>
218 <para>
219 is an experimental tool to help with managing versions of package
220 managers.
221 </para>
222 <indexterm zone="nodejs corepack">
223 <primary sortas="b-corepack">corepack</primary>
224 </indexterm>
225 </listitem>
226 </varlistentry>
227
[4464d405]228 <varlistentry id="node">
229 <term><command>node</command></term>
230 <listitem>
231 <para>
[4c24eb0a]232 is the server-side JavaScript runtime
[4464d405]233 </para>
234 <indexterm zone="nodejs node">
235 <primary sortas="b-node">node</primary>
236 </indexterm>
237 </listitem>
238 </varlistentry>
239
240 <varlistentry id="npm">
241 <term><command>npm</command></term>
242 <listitem>
243 <para>
[4c24eb0a]244 is the <application>Node.js</application> package manager
[4464d405]245 </para>
246 <indexterm zone="nodejs npm">
247 <primary sortas="b-npm">npm</primary>
248 </indexterm>
249 </listitem>
250 </varlistentry>
251
252 <varlistentry>
[4c24eb0a]253 <term>
254 <filename class="directory">/usr/lib/node_modules/npm/</filename>
255 </term>
[4464d405]256 <listitem>
[d56e7df]257 <para>
[4c24eb0a]258 is the installation root for Node.js executables and libraries
[d56e7df]259 </para>
[4464d405]260 </listitem>
261 </varlistentry>
262
263 </variablelist>
264
265 </sect2>
266
267</sect1>
Note: See TracBrowser for help on using the repository browser.