source: general/genlib/nodejs.xml@ b9848179

11.1 11.2 lazarus plabs/python-mods trunk xry111/intltool xry111/soup3 xry111/test-20220226
Last change on this file since b9848179 was b9848179, checked in by Ken Moffat <ken@…>, 11 months ago

Update to node.js-v16.13.2 (security update).

  • Property mode set to 100644
File size: 7.3 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 "110ab2733dfb0224e089b11158075ba5">
10 <!ENTITY nodejs-size "33 MB">
11 <!ENTITY nodejs-buildsize "802 MB (add 27 MB for tests)">
12 <!ENTITY nodejs-time "19 SBU (add 3.6 SBU for tests: both using parallelism=4 and 4 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 <sect1info>
19 <date>$Date$</date>
20 </sect1info>
21
22 <title>Node.js-&nodejs-version;</title>
23
24 <indexterm zone="nodejs">
25 <primary sortas="a-nodejs">nodejs</primary>
26 </indexterm>
27
28 <sect2 role="package">
29 <title>Introduction to Node.js</title>
30
31 <para>
32 <application>Node.js</application> is a
33 <application>JavaScript</application> runtime built on
34 <application>Chrome's</application> V8 JavaScript engine.
35 </para>
36
37 &lfs110a_checked;
38
39 <bridgehead renderas="sect3">Package Information</bridgehead>
40 <itemizedlist spacing="compact">
41 <listitem>
42 <para>
43 Download (HTTP): <ulink url="&nodejs-download-http;"/>
44 </para>
45 </listitem>
46 <listitem>
47 <para>
48 Download (FTP): <ulink url="&nodejs-download-ftp;"/>
49 </para>
50 </listitem>
51 <listitem>
52 <para>
53 Download MD5 sum: &nodejs-md5sum;
54 </para>
55 </listitem>
56 <listitem>
57 <para>
58 Download size: &nodejs-size;
59 </para>
60 </listitem>
61 <listitem>
62 <para>
63 Estimated disk space required: &nodejs-buildsize;
64 </para>
65 </listitem>
66 <listitem>
67 <para>
68 Estimated build time: &nodejs-time;
69 </para>
70 </listitem>
71 </itemizedlist>
72
73<!--
74 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
75 <itemizedlist spacing="compact">
76 <listitem>
77 <para>
78 Required patch:
79 <ulink url="&patch-root;/node-v&nodejs-version;-icu_69-1.patch"/>
80 </para>
81 </listitem>
82 </itemizedlist>
83-->
84
85<!--<note>
86 <para>
87 This tarball was created using a BSD version of
88 <application>tar</application> and extracting it with a linux&trade;
89 version will produce harmless warnings about unknown extended header
90 keywords.
91 </para>
92 </note>-->
93
94 <bridgehead renderas="sect3">Node.js Dependencies</bridgehead>
95
96 <bridgehead renderas="sect4">Required</bridgehead>
97 <para role="required">
98 <xref linkend="which"/>
99 </para>
100
101 <bridgehead renderas="sect4">Recommended</bridgehead>
102 <para role="recommended">
103 <xref linkend="c-ares"/>,
104 <xref linkend="icu"/>,
105 <xref linkend="libuv"/>, and
106 <xref linkend="nghttp2"/>
107 </para>
108
109 <bridgehead renderas="sect4">Optional</bridgehead>
110 <para role="optional">
111 <ulink url="https://github.com/nodejs/http-parser">http-parser</ulink> and
112 <ulink url="https://www.npmjs.com/">npm</ulink> (an internal copy of
113 <command>npm</command> will be installed if not present)
114 </para>
115
116 <para condition="html" role="usernotes">
117 User Notes: <ulink url="&blfs-wiki;/nodejs"/>
118 </para>
119
120 </sect2>
121
122 <sect2 role="installation">
123 <title>Installation of Node.js</title>
124
125<!--
126 <para>
127 First, apply a patch to fix building Node.js against ICU-69.1:
128 </para>
129
130<screen><userinput>patch -Np1 -i ../node-v&nodejs-version;-icu_69-1.patch</userinput></screen>
131-->
132
133 <para>
134 Build <application>Node.js</application> by running the following
135 commands:
136 </para>
137
138<screen><userinput>./configure --prefix=/usr \
139 --shared-cares \
140 --shared-libuv \
141 --shared-openssl \
142 --shared-nghttp2 \
143 --shared-zlib \
144 --with-intl=system-icu &amp;&amp;
145make</userinput></screen>
146
147 <para>
148 To test the results, issue: <command>make test-only</command>.
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 <!-- FIXME : reinstate nghttp2 in this if build is fixed
172 FIXME cont: Seems to be fixed in 12.18.1 -renodr
173 <parameter>\-\-shared-{cares,libuv,nghttp2,openssl,zlib}</parameter>: -->
174 <parameter>--shared-{cares,libuv,nghttp2,openssl,zlib}</parameter>:
175 use the system installed libraries instead of local copies.
176 </para>
177
178 <para>
179 <option>--without-npm</option>: do not build
180 <application>npm</application> (use if you'd like to build a separate
181 <application>npm</application> later).
182 </para>
183
184 <para>
185 <option>--shared-http-parser</option>: use the system
186 installed library instead of a local copy.
187 </para>
188
189 </sect2>
190
191 <sect2 role="content">
192 <title>Contents</title>
193
194 <segmentedlist>
195 <segtitle>Installed Programs</segtitle>
196 <segtitle>Installed Library</segtitle>
197 <segtitle>Installed Directories</segtitle>
198
199 <seglistitem>
200 <seg>
201 node, npm, and npx
202 </seg>
203 <seg>
204 None
205 </seg>
206 <seg>
207 /usr/include/node,
208 /usr/lib/node_modules/npm,
209 /usr/share/doc/{node,node-&nodejs-version;}, and
210 /usr/share/systemtap/tapset
211 </seg>
212 </seglistitem>
213 </segmentedlist>
214
215 <variablelist>
216 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
217 <?dbfo list-presentation="list"?>
218 <?dbhtml list-presentation="table"?>
219
220 <varlistentry id="node">
221 <term><command>node</command></term>
222 <listitem>
223 <para>
224 is the server-side JavaScript runtime
225 </para>
226 <indexterm zone="nodejs node">
227 <primary sortas="b-node">node</primary>
228 </indexterm>
229 </listitem>
230 </varlistentry>
231
232 <varlistentry id="npm">
233 <term><command>npm</command></term>
234 <listitem>
235 <para>
236 is the <application>Node.js</application> package manager
237 </para>
238 <indexterm zone="nodejs npm">
239 <primary sortas="b-npm">npm</primary>
240 </indexterm>
241 </listitem>
242 </varlistentry>
243
244 <varlistentry>
245 <term>
246 <filename class="directory">/usr/lib/node_modules/npm/</filename>
247 </term>
248 <listitem>
249 <para>
250 is the installation root for Node.js executables and libraries
251 </para>
252 </listitem>
253 </varlistentry>
254
255 </variablelist>
256
257 </sect2>
258
259</sect1>
Note: See TracBrowser for help on using the repository browser.