source: general/genlib/nodejs.xml@ d60738d

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 d60738d was d60738d, checked in by Ken Moffat <ken@…>, 4 years ago

node-js: Comment the ICU dependency until we can again use system ICU.

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

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