source: general/genlib/nodejs.xml@ 90c3184c

12.1 ken/TL2024 ken/tuningfonts lazarus plabs/newcss python3.11 rahul/power-profiles-daemon renodr/vulkan-addition trunk xry111/llvm18
Last change on this file since 90c3184c was 90c3184c, checked in by Douglas R. Reno <renodr@…>, 6 months ago

Update to node.js-v20.10.0

  • Property mode set to 100644
File size: 8.2 KB
Line 
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
7 <!ENTITY nodejs-download-http "https://nodejs.org/dist/v&nodejs-version;/node-v&nodejs-version;.tar.xz">
8 <!ENTITY nodejs-download-ftp " ">
9 <!ENTITY nodejs-md5sum "066b989f665c8416ef52f7b14d5086ad">
10 <!ENTITY nodejs-size "40 MB">
11 <!ENTITY nodejs-buildsize "1041 MB (add 69 MB for tests)">
12 <!ENTITY nodejs-time "13.7 SBU (add 3.2 SBU for tests: both using parallelism=8 and 8 CPUs online, parts of the tests will use all online CPUs)">
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
31 <application>Chrome's</application> V8 JavaScript engine.
32 </para>
33
34 &lfs120_checked;
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>
69
70<!--
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>
80-->
81
82 <bridgehead renderas="sect3">Node.js Dependencies</bridgehead>
83
84 <bridgehead renderas="sect4">Required</bridgehead>
85 <para role="required">
86 <xref linkend="which"/>
87 </para>
88
89 <bridgehead renderas="sect4">Recommended</bridgehead>
90 <para role="recommended">
91 <xref linkend="c-ares"/>,
92 <xref linkend="icu"/>,
93 <xref linkend="libuv"/>, and
94 <xref linkend="nghttp2"/>
95 </para>
96
97 <bridgehead renderas="sect4">Optional</bridgehead>
98 <para role="optional">
99 <ulink url="https://github.com/nodejs/http-parser">http-parser</ulink> and
100 <ulink url="https://www.npmjs.com/">npm</ulink> (an internal copy of
101 <command>npm</command> will be installed if not present)
102 </para>
103
104
105 </sect2>
106
107 <sect2 role="installation">
108 <title>Installation of Node.js</title>
109
110 <para>
111 If Python-3.12 is installed, fix the <command>configure</command> script:
112 </para>
113
114<screen><userinput>sed -e '/python3.11/i command -v python3.12 >/dev/null &amp;&amp; exec python3.12 "$0" "$@"' \
115 -e '/3, 11/s/\(.3, 11.\)/(3, 12), \1/' \
116 -i configure</userinput></screen>
117
118 <para>
119 Build <application>Node.js</application> by running the following
120 commands:
121 </para>
122
123<screen><userinput>./configure --prefix=/usr \
124 --shared-cares \
125 --shared-libuv \
126 --shared-openssl \
127 --shared-nghttp2 \
128 --shared-zlib \
129 --with-intl=system-icu &amp;&amp;
130make</userinput></screen>
131
132 <para>
133 To test the results, issue: <command>make test-only</command>.
134<!--
135Failed tests:
136out/Release/node - -tls-min-v1.0 /build/node/node-v18.18.2/test/parallel/test-https-agent-session-eviction.js
137out/Release/node /build/node/node-v18.18.2/test/parallel/test-tls-alert.js
138out/Release/node - -tls-max-v1.2 /build/node/node-v18.18.2/test/parallel/test-tls-cli-max-version-1.2.js
139out/Release/node - -tls-max-v1.3 /build/node/node-v18.18.2/test/parallel/test-tls-cli-max-version-1.3.js
140out/Release/node - -tls-min-v1.1 /build/node/node-v18.18.2/test/parallel/test-tls-cli-min-version-1.1.js
141out/Release/node - -tls-min-v1.2 /build/node/node-v18.18.2/test/parallel/test-tls-cli-min-version-1.2.js
142out/Release/node - -tls-min-v1.3 /build/node/node-v18.18.2/test/parallel/test-tls-cli-min-version-1.3.js
143out/Release/node /build/node/node-v18.18.2/test/parallel/test-tls-getprotocol.js
144out/Release/node /build/node/node-v18.18.2/test/parallel/test-tls-min-max-version.js
145out/Release/node /build/node/node-v18.18.2/test/parallel/test-tls-session-cache.js
146
147For node-v20.9.0 all 3969 tests passed. bdubbs 3 Nov 23
148-->
149 </para>
150
151 <para>
152 Now, as the <systemitem class="username">root</systemitem> user:
153 </para>
154
155<screen role="root"><userinput>make install &amp;&amp;
156ln -sf node /usr/share/doc/node-&nodejs-version;</userinput></screen>
157 </sect2>
158
159 <sect2 role="commands">
160 <title>Command Explanations</title>
161
162 <para>
163 <parameter>--with-intl=system-icu</parameter>: use the system version
164 of <application>icu</application>. Other values are
165 <option>full-icu</option> (to build a local, full
166 <application>icu</application> library) and <option>small-icu</option>
167 (to build a local, minimal <application>icu</application> library).
168 </para>
169
170 <para>
171 <parameter>--shared-{cares,libuv,nghttp2,openssl,zlib}</parameter>:
172 use the system installed libraries instead of local copies.
173 </para>
174
175 <para>
176 <option>--without-npm</option>: do not build
177 <application>npm</application> (use if you'd like to build a separate
178 <application>npm</application> later).
179 </para>
180
181 <para>
182 <option>--shared-http-parser</option>: use the system
183 installed library instead of a local copy.
184 </para>
185
186 </sect2>
187
188 <sect2 role="content">
189 <title>Contents</title>
190
191 <segmentedlist>
192 <segtitle>Installed Programs</segtitle>
193 <segtitle>Installed Library</segtitle>
194 <segtitle>Installed Directories</segtitle>
195
196 <seglistitem>
197 <seg>
198 corepack, node, npm, and npx
199 </seg>
200 <seg>
201 None
202 </seg>
203 <seg>
204 /usr/include/node,
205 /usr/lib/node_modules/{corepack,npm},
206 /usr/share/doc/{node,node-&nodejs-version;}, and
207 /usr/share/systemtap/tapset
208 </seg>
209 </seglistitem>
210 </segmentedlist>
211
212 <variablelist>
213 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
214 <?dbfo list-presentation="list"?>
215 <?dbhtml list-presentation="table"?>
216
217 <varlistentry id="corepack">
218 <term><command>corepack</command></term>
219 <listitem>
220 <para>
221 is an experimental tool to help with managing versions of package
222 managers.
223 </para>
224 <indexterm zone="nodejs corepack">
225 <primary sortas="b-corepack">corepack</primary>
226 </indexterm>
227 </listitem>
228 </varlistentry>
229
230 <varlistentry id="node">
231 <term><command>node</command></term>
232 <listitem>
233 <para>
234 is the server-side JavaScript runtime
235 </para>
236 <indexterm zone="nodejs node">
237 <primary sortas="b-node">node</primary>
238 </indexterm>
239 </listitem>
240 </varlistentry>
241
242 <varlistentry id="npm">
243 <term><command>npm</command></term>
244 <listitem>
245 <para>
246 is the <application>Node.js</application> package manager
247 </para>
248 <indexterm zone="nodejs npm">
249 <primary sortas="b-npm">npm</primary>
250 </indexterm>
251 </listitem>
252 </varlistentry>
253
254 <varlistentry>
255 <term>
256 <filename class="directory">/usr/lib/node_modules/npm/</filename>
257 </term>
258 <listitem>
259 <para>
260 is the installation root for Node.js executables and libraries
261 </para>
262 </listitem>
263 </varlistentry>
264
265 </variablelist>
266
267 </sect2>
268
269</sect1>
Note: See TracBrowser for help on using the repository browser.