source: general/genlib/nodejs.xml@ f518066

10.0 10.1 11.0 11.1 11.2 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 upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since f518066 was f518066, checked in by Ken Moffat <ken@…>, 4 years ago

node-js v12.18.0, without system nghttp2.

git-svn-id: svn://svn.linuxfromscratch.org/BLFS/trunk/BOOK@23238 af4574ff-66df-0310-9fd7-8a98e5e911e0

  • Property mode set to 100644
File size: 7.4 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 "9e140f97f434a41fff8392ecc6852db2">
10 <!ENTITY nodejs-size "23 MB">
11 <!ENTITY nodejs-buildsize "660 MB (add 55 MB for tests)">
12 <!ENTITY nodejs-time "8.3 SBU (using parallelism=4; add 2.7 SBU for tests)">
13 <!-- timing may be shorter on intel -->
14]>
15
16<sect1 id="nodejs" xreflabel="nodejs-&nodejs-version;">
17 <?dbhtml filename="nodejs.html"?>
18
19 <sect1info>
20 <othername>$LastChangedBy$</othername>
21 <date>$Date$</date>
22 </sect1info>
23
24 <title>Node.js-&nodejs-version;</title>
25
26 <indexterm zone="nodejs">
27 <primary sortas="a-nodejs">nodejs</primary>
28 </indexterm>
29
30 <sect2 role="package">
31 <title>Introduction to Node.js</title>
32
33 <para>
34 <application>Node.js</application> is a
35 <application>JavaScript</application> runtime built on
36 <application>Chrome's</application> V8 JavaScript engine.
37 </para>
38
39 &lfs91_checked;
40
41 <bridgehead renderas="sect3">Package Information</bridgehead>
42 <itemizedlist spacing="compact">
43 <listitem>
44 <para>
45 Download (HTTP): <ulink url="&nodejs-download-http;"/>
46 </para>
47 </listitem>
48 <listitem>
49 <para>
50 Download (FTP): <ulink url="&nodejs-download-ftp;"/>
51 </para>
52 </listitem>
53 <listitem>
54 <para>
55 Download MD5 sum: &nodejs-md5sum;
56 </para>
57 </listitem>
58 <listitem>
59 <para>
60 Download size: &nodejs-size;
61 </para>
62 </listitem>
63 <listitem>
64 <para>
65 Estimated disk space required: &nodejs-buildsize;
66 </para>
67 </listitem>
68 <listitem>
69 <para>
70 Estimated build time: &nodejs-time;
71 </para>
72 </listitem>
73 </itemizedlist>
74
75<!--<note>
76 <para>
77 This tarball was created using a BSD version of
78 <application>tar</application> and extracting it with a linux&trade;
79 version will produce harmless warnings about unknown extended header
80 keywords.
81 </para>
82 </note>-->
83
84 <bridgehead renderas="sect3">Node.js Dependencies</bridgehead>
85
86 <bridgehead renderas="sect4">Required</bridgehead>
87 <para role="required">
88 <xref linkend="python2"/> and
89 <xref linkend="which"/>
90 </para>
91
92 <bridgehead renderas="sect4">Recommended</bridgehead>
93 <para role="recommended">
94 <xref linkend="c-ares"/>,
95 <xref linkend="icu"/>, and
96 <xref linkend="libuv"/>
97 <!-- currently FTBFS with system nghttp2, g++ scope error
98 <xref linkend="nghttp2"/>-->
99 </para>
100
101 <bridgehead renderas="sect4">Optional</bridgehead>
102 <para role="optional">
103 <ulink url="https://github.com/nodejs/http-parser">http-parser</ulink> and
104 <ulink url="https://www.npmjs.com/">npm</ulink> (an internal copy of
105 <command>npm</command> will be installed if not present)
106 </para>
107
108 <para condition="html" role="usernotes">
109 User Notes: <ulink url="&blfs-wiki;/nodejs"/>
110 </para>
111
112 </sect2>
113
114 <sect2 role="installation">
115 <title>Installation of Node.js</title>
116
117 <para>
118 Build <application>Node.js</application> by running the following
119 commands:
120 </para>
121<!-- with gcc-10.1 and v12.18.0, this fails to build with system nghttp2
122 \-\-shared-nghttp2 \-->
123
124<screen><userinput>./configure --prefix=/usr \
125 --shared-cares \
126 --shared-libuv \
127 --shared-openssl \
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 <!--One test, test-dns, is known to fail.-->
135 <!-- When using make check, a module is used that wasn't shipped properly
136 with the 12.16.2 release. See Ticket #13379 for details. We should
137 probably restore "make check" after the next version of Node.js.
138 This new command skips the documentation and lint checks. -renodr-->
139 </para>
140
141 <para>
142 Now, as the <systemitem class="username">root</systemitem> user:
143 </para>
144
145<screen role="root"><userinput>make install &amp;&amp;
146ln -sf node /usr/share/doc/node-&nodejs-version;</userinput></screen>
147 </sect2>
148
149 <sect2 role="commands">
150 <title>Command Explanations</title>
151
152 <para>
153 <parameter>- -with-intl=system-icu</parameter>: use the system version
154 of <application>icu</application>. Other values are
155 <option>full-icu</option> (to build a local, full
156 <application>icu</application> library) and <option>small-icu</option>
157 (to build a local, minimal <application>icu</application> library).
158 </para>
159
160 <para>
161 <!-- FIXME : reinstate nghttp2 in this if build is fixed
162 <parameter>\-\-shared-{cares,libuv,nghttp2,openssl,zlib}</parameter>: -->
163 <parameter>--shared-{cares,libuv,openssl,zlib}</parameter>:
164 use the system installed libraries instead of local copies.
165 </para>
166
167 <para>
168 <option>--without-npm</option>: do not build
169 <application>npm</application> (use if you'd like to build a separate
170 <application>npm</application> later).
171 </para>
172
173 <para>
174 <option>--shared-http-parser</option>: use the system
175 installed library instead of a local copy.
176 </para>
177
178 </sect2>
179
180 <sect2 role="content">
181 <title>Contents</title>
182
183 <segmentedlist>
184 <segtitle>Installed Programs</segtitle>
185 <segtitle>Installed Library</segtitle>
186 <segtitle>Installed Directories</segtitle>
187
188 <seglistitem>
189 <seg>
190 node, npm, and npx
191 </seg>
192 <seg>
193 None
194 </seg>
195 <seg>
196 /usr/include/node,
197 /usr/lib/node_modules/npm,
198 /usr/share/doc/{node,node-&nodejs-version;}, and
199 /usr/share/systemtap/tapset
200 </seg>
201 </seglistitem>
202 </segmentedlist>
203
204 <variablelist>
205 <bridgehead renderas="sect3">Short Descriptions</bridgehead>
206 <?dbfo list-presentation="list"?>
207 <?dbhtml list-presentation="table"?>
208
209 <varlistentry id="node">
210 <term><command>node</command></term>
211 <listitem>
212 <para>
213 is the server-side JavaScript runtime.
214 </para>
215 <indexterm zone="nodejs node">
216 <primary sortas="b-node">node</primary>
217 </indexterm>
218 </listitem>
219 </varlistentry>
220
221 <varlistentry id="npm">
222 <term><command>npm</command></term>
223 <listitem>
224 <para>
225 is the <application>Node.js</application> package manager.
226 </para>
227 <indexterm zone="nodejs npm">
228 <primary sortas="b-npm">npm</primary>
229 </indexterm>
230 </listitem>
231 </varlistentry>
232
233 <varlistentry>
234 <term><filename class='directory'>/usr/lib/node_modules/npm/</filename></term>
235 <listitem>
236 <para>
237 is the installation root for Node.js executables and libraries.
238 </para>
239 </listitem>
240 </varlistentry>
241
242 </variablelist>
243
244 </sect2>
245
246</sect1>
Note: See TracBrowser for help on using the repository browser.