[译]Node v5.0.0 (Stable)

简介:

原文:https://nodejs.org/en/blog/release/v5.0.0/

你好Node.js v5!没错,我们刚刚才发布了Node.js v4,但这次的新版本并不意味着v4版本要离我们而去。事实上,v4版本比v5版本将继续保持活跃更长的时间。

按照我们新的LTS计划,Node.js v4 Argon将继续被支持30个月,直到2018年4月。随着新的主要版本(v6)的在2016年4月的发布,这个新的Node.js版本(v5)将仅被支持8个月。Node.js v6将最终成为新的LTS版本,有着和v4一样的支持时间。通过这种方式,我们每6个月就有一个新的稳定版本,

如果你对我们的LTS计划较陌生,请阅读以了解它将怎样工作,以令你可以做出该使用哪个版本的正确决定。

决定采用哪个版本的通用规则是:

  • 如果你需要稳定并且有复杂的产品环境,保持当前,或升级到Node.js v4.2.x。
  • 如果你不用分发你的环境,能快速,轻松地升级版本,想玩转最新的特性,那么升级到Node.js v5.x。

下面的发布说明中标注了跳跃性升级到v5版本的主要破坏性改动。注意的是因为这个Node.js的新版本搭载了一个V8的新版本,你将需要重新编译所有已经安装的原生模块,否则加载原生模块时你将收到一个运行时错误。使用npm rebuild或者简单的删除你的node_modules目录然后执行npm install即可。

主要改动

  • buffer: (Breaking)Buffer中移除'raw’'raws'编码类型,它们已经被弃用很长时间了。 (Sakthipriyan Vairamani) #2859.
  • console: (Breaking) 现在console.time()报告的值添加了3位精度小数 (Michaël Zasso) #3166.
  • fs:

    • 现在fs.readFile*()fs.writeFile*()fs.appendFile*()也接受一个文件描述符作为它们的第一个参数 (Johannes Wüller) #3163.
    • (Breaking)fs.readFile()中,如果一个编码被指定并且内部的toString()失败的话,这个错误不再_thrown_出来,但会传递给回调函数。 (Evan Lucas) #3485.
    • (Breaking)fs.read()中 (使用fs.read(fd, length, position, encoding, callback)形式),如果内部的toString()失败,错误不再直接_thrown_,而是传递给回调函数。 (Evan Lucas) #3503.
  • http:
    -修复一个pipeliend的http请求失速的bug (Fedor Indutny) #3342.

    • (Breaking) When parsing HTTP, don't add duplicates of the following headers: Retry-After, ETag, Last-Modified, Server, Age, Expires. This is in addition to the following headers which already block duplicates: Content-Type, Content-Length, User-Agent, Referer, Host, Authorization, Proxy-Authorization, If-Modified-Since, If-Unmodified-Since, From, Location, Max-Forwards (James M Snell) #3090.
    • (Breaking) The callback argument to OutgoingMessage#setTimeout() must be a function or a TypeError is thrown (James M Snell) #3090.
    • (Breaking) 现在HTTP 方法和header名必须满足RFC 2616 "token" 规则, a list of allowed characters that excludes control characters and a number of separator characters. Specifically, methods and header names must now match /^[a-zA-Z0-9_!#$%&'*+.^`|~-]+$/ or a TypeError will be thrown (James M Snell) #2526.
  • node:

    • (Breaking) 弃用_linklist模块 (Rich Trott) #3078.
    • (Breaking) 弃用require.pathsrequire.registerExtension(),它们之前被设置为访问的时候抛出错误。 (Sakthipriyan Vairamani) #2922.
  • npm: 从2.14.7升级到3.3.6,更多细节参见https://github.com/npm/npm/releases/tag/v3.3.6。对npm而言这是一个主要的版本,它有大量重要的改进。主要改动列表请参见原始的npm 3.0.0发布说明 (Rebecca Turner) #3310.
  • src: (Breaking) 改动 NODE_MODULE_VERSION4647,这是必要的,因为v8的升级。原生模块需要重新编译。 (Rod Vagg) #3400.
  • timers: Attempt to reuse the timer handle for setTimeout().unref(). This fixes a long-standing known issue where unrefed timers would perviously hold beforeExit open (Fedor Indutny) #3407.
  • tls:

    • 添加了ALPN支持 (Shigeki Ohtsu) #2564.
    • TLS options can now be passed in an object to createSecurePair() (Коренберг Марк) #2441.
    • (Breaking) 现在用于tls.connect()的默认最小DH key大小为1024位,并且当DH key大小少于2048时显示一个警告。这是一个阻止"logjam”攻击的安全考量。一个新的minDHSize TLS选项可以用来覆盖这个默认值。 (Shigeki Ohtsu) #1831.
  • util:

    • (Breaking) util.p()已经弃用多年,现在已经被移除。 (Wyatt Preul) #3432.
    • (Breaking) 现在util.inherits()能和ES6的classes工作了。This is considered a breaking change because of potential subtle side-effects caused by a change from directly reassigning the prototype of the constructor using ctor.prototype = Object.create(superCtor.prototype, { constructor: { ... } }) to using Object.setPrototypeOf(ctor.prototype, superCtor.prototype) (Michaël Zasso) #3455.
  • v8: (Breaking) v8从4.5.103.35升级到4.6.85.25 (Ali Ijaz Sheikh) #3351.

  • zlib: Decompression now throws on truncated input (e.g. unexpected end of file) (Yuval Brik) #2595.

Known issues

  • Surrogate pair in REPL can freeze terminal. #690
  • Calling dns.setServers() while a DNS query is in progress can cause the process to crash on a failed assertion. #894
  • url.resolve may transfer the auth portion of the url when resolving between two full hosts, see #1435.
  • Unicode characters in filesystem paths are not handled consistently across platforms or Node.js APIs. See #2088, #3401 and #3519.

Commits

  • [6a04cc0a43] - buffer: fix value check for writeUInt{B,L}E (Trevor Norris) #3500
  • [1a41feb559] - buffer: don't CHECK on zero-sized realloc (Ben Noordhuis) #3499
  • [5f6579d366] - (SEMVER-MAJOR) buffer: remove raw & raws encoding (Sakthipriyan Vairamani) #2859
  • [70fca2a81e] - build: Updates for AIX npm support - part 1 (Michael Dawson) #3114
  • [b36b4f385a] - build: rectify --link-module help text (P.S.V.R) #3379
  • [a89eeca590] - console: rename argument of time and timeEnd (Michaël Zasso) #3166
  • [870108aaa8] - (SEMVER-MAJOR) console: sub-millisecond accuracy for console.time (Michaël Zasso) #3166
  • [0a43697ce8] - deps: backport 010897c from V8 upstream (Ali Ijaz Sheikh) #3520
  • [8c0318ce8d] - deps: backport 8d6a228 from the v8's upstream (Fedor Indutny) #3549
  • [2974debc6e] - deps: update V8 to 4.6.85.28 (Michaël Zasso) #3484
  • [f76af49b13] - deps: fix upgrade to npm 3.3.6 (Rebecca Turner) #3494
  • [32b51c97ec] - deps: upgrade npm to 3.3.6 (Rebecca Turner) #3310
  • [770cd229f9] - deps: upgrade V8 to 4.6.85.25 (Ali Ijaz Sheikh) #3351
  • [972a0c8515] - deps: backport 0d01728 from v8's upstream (Fedor Indutny) #3351
  • [1fdec65203] - deps: improve ArrayBuffer performance in v8 (Fedor Indutny) #3351
  • [5cd1fd836a] - deps: backport 56a0a79 from V8 upstream (Julien Gilli) #3351
  • [7fb128d8df] - deps: cherry-pick backports to V8 (Michaël Zasso) #3351
  • [d8011d1683] - (SEMVER-MAJOR) deps: upgrade V8 to 4.6.85.23 (Michaël Zasso) #3351
  • [a334ddc467] - Revert "deps: backport 03ef3cd from V8 upstream" (Ali Ijaz Sheikh) #3237
  • [6fff47ffac] - deps: backport 03ef3cd from V8 upstream (Ali Ijaz Sheikh) #3165
  • [680dda8023] - dns: remove nonexistant exports.ADNAME (Roman Reiss) #3051
  • [239ad899a3] - doc: add LTS info to COLLABORATOR_GUIDE.md (Myles Borins) #3442
  • [5e76587fdf] - doc: createServer's key option can be an array (Sakthipriyan Vairamani) #3123
  • [0317c880da] - doc: add TSC meeting minutes 2015-10-21 (Rod Vagg) #3480
  • [cd245b12e0] - doc: clarify API buffer.concat (Martii) #3255
  • [ff9ef893fd] - doc: add TSC meeting minutes 2015-10-14 (Rod Vagg) #3463
  • [605c5a7754] - doc: clarify the use of option.detached (Kyle Smith) #3250
  • [cf75a175e5] - doc: more use-cases for promise events (Domenic Denicola) #3438
  • [1b75d4bda3] - doc: update WORKING_GROUPS.md - add missing groups (Michael Dawson) #3450
  • [c658de2f99] - doc: add TSC meeting minutes 2015-09-30 (Rod Vagg) #3235
  • [d0b8c5d3a4] - doc: add TSC meeting minutes 2015-10-07 (Rod Vagg) #3364
  • [b483afcb20] - doc: binary encoding is not deprecated (Trevor Norris) #3441
  • [b607366a1c] - doc: add information about Assert behavior and maintenance (Rich Trott) #3330
  • [086103b32e] - doc: show keylen in pbkdf2 as a byte length (calebboyd) #3334
  • [f6ebc8277b] - doc: reword description of console.time (Michaël Zasso) #3166
  • [503f279527] - doc: fix indent in tls resumption example (Roman Reiss) #3372
  • [dae9fae0fe] - doc: label v4.2.1 as LTS in changelog heading (Phillip Johnsen) #3360
  • [4fc638804c] - doc: update V8 options in man page (Michaël Zasso) #3351
  • [a441aa6e1d] - doc: update WORKING_GROUPS.md to include Intl (Steven R. Loomis) #3251
  • [81503e597b] - doc: fix typo in changelog (Timothy Gu) #3353
  • [3ef2e4acf3] - doc: fix typos in changelog (reggi) #3291
  • [b9279aa193] - doc: remove old note, 'cluster' is marked stable (Balázs Galambosi) #3314
  • [cdfa271164] - doc: update AUTHORS list (Rod Vagg)
  • [47b06f6bb1] - docs: add missing shell option to execSync (fansworld-claudio) #3440
  • [4c9abbd1bb] - fs: reduced duplicate code in fs.write() (ronkorving) #2947
  • [2bb147535e] - (SEMVER-MAJOR) fs: don't throw in read if buffer too big (Evan Lucas) #3503
  • [7added3b39] - (SEMVER-MAJOR) fs: pass err to callback if buffer is too big (Evan Lucas) #3485
  • [5e0759f6fd] - (SEMVER-MINOR) fs: add file descriptor support to *File() funcs (Johannes Wüller) #3163
  • [d1a2e5357e] - gitignore: don't ignore debug source directory in V8 (Michaël Zasso) #3351
  • [ab03635fb1] - http: fix stalled pipeline bug (Fedor Indutny) #3342
  • [e655a437b3] - (SEMVER-MAJOR) http: do not allow multiple instances of certain response headers (James M Snell) #3090
  • [0094a8dad7] - (SEMVER-MAJOR) http: add callback is function check (James M Snell) #3090
  • [6192c9892f] - (SEMVER-MAJOR) http: add checkIsHttpToken check for header fields (James M Snell) #2526
  • [c9786bb680] - (SEMVER-MAJOR) http{s}: don't connect to localhost on invalid URL (Sakthipriyan Vairamani) #2967
  • [1929d5be73] - lib: fix cluster handle leak (Rich Trott) #3510
  • [97d081709e] - lib: avoid REPL exit on completion error (Rich Trott) #3358
  • [f236b3a904] - (SEMVER-MINOR) lib,doc: return boolean from child.send() (Rich Trott) #3516
  • [6e887cc630] - lib,test: update let to const where applicable (Sakthipriyan Vairamani) #3152
  • [47befffc53] - (SEMVER-MAJOR) lib,test: deprecate _linklist (Rich Trott) #3078
  • [d5ce53458e] - lttng: update flags for gc tracing (Glen Keane) #3388
  • [6ad458b752] - (SEMVER-MAJOR) module: remove unnecessary property and method (Sakthipriyan Vairamani) #2922
  • [ae196175f4] - node: improve GetActiveRequests performance (Trevor Norris) #3375
  • [bd4311bc9c] - repl: handle comments properly (Sakthipriyan Vairamani) #3515
  • [ce391ed849] - (SEMVER-MAJOR) repl: event ordering: delay 'close' until 'flushHistory' (Jeremiah Senkpiel) #3435
  • [4c80c02ac7] - repl: limit persistent history correctly on load (Jeremiah Senkpiel) #2356
  • [134a60c785] - src: fix race condition in debug signal on exit (Ben Noordhuis) #3528
  • [bf7c3dabb4] - (SEMVER-MAJOR) src: bump NODE_MODULE_VERSION To 47 (Rod Vagg) #3400
  • [2d3560767e] - src: fix exception message encoding on Windows (Brian White) #3288
  • [ff877e93e1] - src: fix stuck debugger process (Liang-Chi Hsieh) #2778
  • [8854183fe5] - stream: avoid unnecessary concat of a single buffer. (Calvin Metcalf) #3300
  • [85b74de9de] - stream: fix signature of _write() in a comment (Fábio Santos) #3248
  • [b8cea49c88] - test: fix heap-profiler link error LNK1194 on win (Junliang Yan) #3572
  • [4a5dbeab43] - test: fix missing unistd.h on windows (Junliang Yan) #3532
  • [74e2328b3a] - test: split independent tests into separate files (Rich Trott) #3548
  • [8c6c0f915a] - test: use port number from env in tls socket test (Stefan Budeanu) #3557
  • [1a968e67a5] - test: improve tests for util.inherits (Michaël Zasso) #3507
  • [9d8d752456] - test: print helpful err msg on test-dns-ipv6.js (Junliang Yan) #3501
  • [60de9f8d7b] - test: wrap assert.fail when passed to callback (Myles Borins) #3453
  • [cd83f7ed7f] - test: add node::MakeCallback() test coverage (Ben Noordhuis) #3478
  • [08da5c2a06] - test: disable test-tick-processor - aix and be ppc (Michael Dawson) #3491
  • [7c35fbcb14] - test: harden test-child-process-fork-regr-gh-2847 (Michael Dawson) #3459
  • [ad2b272417] - test: fix test-net-keepalive for AIX (Imran Iqbal) #3458
  • [04fb14cc35] - test: fix flaky test-child-process-emfile (Rich Trott) #3430
  • [eef0f0cd63] - test: remove flaky status from eval_messages test (Rich Trott) #3420
  • [bbbd81eab2] - test: skip test-dns-ipv6.js if ipv6 is unavailable (Junliang Yan) #3444
  • [f78c8e7426] - test: fix flaky test for symlinks (Rich Trott) #3418
  • [28e9a4f41b] - test: repl-persistent-history is no longer flaky (Jeremiah Senkpiel) #3437
  • [9e981556e5] - test: cleanup, improve repl-persistent-history (Jeremiah Senkpiel) #2356
  • [ee2e641e0a] - test: add Symbol test for assert.deepEqual() (Rich Trott) #3327
  • [e2b8393ee8] - test: port domains regression test from v0.10 (Jonas Dohse) #3356
  • [676e61872f] - test: apply correct assert.fail() arguments (Rich Trott) #3378
  • [bbdbef9274] - test: fix tests after V8 upgrade (Michaël Zasso) #3351
  • [6c032a8333] - test: replace util with backtick strings (Myles Borins) #3359
  • [f45c315763] - test: fix domain with abort-on-uncaught on PPC (Julien Gilli) #3354
  • [e3d9d25083] - test: add test-child-process-emfile fail message (Rich Trott) #3335
  • [6f14b3a7db] - test: remove util from common (Rich Trott) #3324
  • [7d94611ac9] - test: split up buffer tests for reliability (Rich Trott) #3323
  • [3202456baa] - test: remove util properties from common (Rich Trott) #3304
  • [31c971d641] - test: parallelize long-running test (Rich Trott) #3287
  • [5bbc6df7de] - test: change call to deprecated util.isError() (Rich Trott) #3084
  • [522e3d3cd3] - timers: reuse timer in setTimeout().unref() (Fedor Indutny) #3407
  • [b64ce5960f] - tls: remove util and calls to util.format (Myles Borins) #3456
  • [c64af7d99e] - tls: TLSSocket options default isServer false (Yuval Brik) #2614
  • [2296a4fc0f] - (SEMVER-MINOR) tls: add options argument to createSecurePair (Коренберг Марк) #2441
  • [0140e1b5e3] - tls: output warning of setDHParam to console.trace (Shigeki Ohtsu) #1831
  • [f72e178a78] - (SEMVER-MAJOR) tls: add minDHSize option to tls.connect() (Shigeki Ohtsu) #1831
  • [6d92ebac11] - tls: add TLSSocket.getEphemeralKeyInfo() (Shigeki Ohtsu) #1831
  • [62ad1d0113] - (SEMVER-MINOR) tls, crypto: add ALPN Support (Shigeki Ohtsu) #2564
  • [5029f41b2f] - (SEMVER-MINOR) tls,crypto: move NPN protcol data to hidden value (Shigeki Ohtsu) #2564
  • [701e38c25f] - tools: enable prefer-const eslint rule (Sakthipriyan Vairamani) #3152
  • [6e78382605] - tools: ensure npm always uses the local node (Jeremiah Senkpiel) #3489
  • [3c3435d017] - tools: update test-npm to work with npm 3 (Rebecca Turner) #3489
  • [b4f4c24539] - tools: use absolute paths in test-npm (Rebecca Turner) #3309
  • [80573153b8] - (SEMVER-MAJOR) util: make inherits work with classes (Michaël Zasso) #3455
  • [412252ca04] - (SEMVER-MAJOR) util: Remove p, has been deprecated for years (Wyatt Preul) #3432
  • [718c304a4f] - v8: pull fix for builtin code size on PPC (Michael Dawson) #3474
  • [6936468de2] - vm: remove Watchdog dependency on Environment (Ido Ben-Yair) #3274
  • [80169b1f0a] - (SEMVER-MAJOR) zlib: decompression throw on truncated input (Yuval Brik) #2595

Windows 32-bit Installer: https://nodejs.org/dist/v5.0.0/node-v5.0.0-x86.msi

Windows 64-bit Installer: https://nodejs.org/dist/v5.0.0/node-v5.0.0-x64.msi

Windows 32-bit Binary: https://nodejs.org/dist/v5.0.0/win-x86/node.exe

Windows 64-bit Binary: https://nodejs.org/dist/v5.0.0/win-x64/node.exe

Mac OS X 64-bit Installer: https://nodejs.org/dist/v5.0.0/node-v5.0.0.pkg

Mac OS X 64-bit Binary: https://nodejs.org/dist/v5.0.0/node-v5.0.0-darwin-x64.tar.gz

Linux 32-bit Binary: https://nodejs.org/dist/v5.0.0/node-v5.0.0-linux-x86.tar.gz

Linux 64-bit Binary: https://nodejs.org/dist/v5.0.0/node-v5.0.0-linux-x64.tar.gz

SunOS 32-bit Binary: https://nodejs.org/dist/v5.0.0/node-v5.0.0-sunos-x86.tar.gz

SunOS 64-bit Binary: https://nodejs.org/dist/v5.0.0/node-v5.0.0-sunos-x64.tar.gz

ARMv6 32-bit Binary: https://nodejs.org/dist/v5.0.0/node-v5.0.0-linux-armv6l.tar.gz

ARMv7 32-bit Binary: https://nodejs.org/dist/v5.0.0/node-v5.0.0-linux-armv7l.tar.gz

ARMv8 64-bit Binary: https://nodejs.org/dist/v5.0.0/node-v5.0.0-linux-arm64.tar.gz

Source Code: https://nodejs.org/dist/v5.0.0/node-v5.0.0.tar.gz

Other release files: https://nodejs.org/dist/v5.0.0/

Documentation: https://nodejs.org/docs/v5.0.0/api/

Shasums (GPG signing hash: SHA512, file hash: SHA256):

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

26f3e42df814b9b42f0b0045901c84eb79233d8196d0dcdf77a6a3c975c6f25d  node-v5.0.0-darwin-x64.tar.gz
060d4bdf5872047ef74f3b1f3daaa466c2506e34ad916128f4b9279d005bc205  node-v5.0.0-darwin-x64.tar.xz
5133b6145df7083133e272e1b8c96b59c58a19d004d5aacdec80ea78e58c7e46  node-v5.0.0-headers.tar.gz
47dc88a17c416285de6c517ea6107322b65920618e8f59e1c49a83c6dd423f31  node-v5.0.0-headers.tar.xz
2c4517d3fdefc29b5c61aa6ea3386a0dafca831357d3bcd30fc14e97b49139d1  node-v5.0.0-linux-arm64.tar.gz
5fd1939b15406d537bf17828a707898f2d710c3c9ddf243b6070353fd13f5880  node-v5.0.0-linux-arm64.tar.xz
96629e271e34d14bdb7be93067a8770cb5326977b9168cf2344c80a721040784  node-v5.0.0-linux-armv6l.tar.gz
82178863010dba66076fdda215e5ad505c1b83571df1d018dce2060d24f260d7  node-v5.0.0-linux-armv6l.tar.xz
6bf5f19cac9f01cb31b7088685d9d6df6d24c9c2a4531ace839387763b8a28ec  node-v5.0.0-linux-armv7l.tar.gz
97575c7ec3f042acf85f9b6de3ec6db027b0ef4a828eaa5e0f66504c72884bd9  node-v5.0.0-linux-armv7l.tar.xz
ef73b59048a0ed11d01633f0061627b7a9879257deb9add2255e4d0808f8b671  node-v5.0.0-linux-x64.tar.gz
1c3e8e7df3320e648f748d721115e6018e0701a206232a6a7332970d211e3706  node-v5.0.0-linux-x64.tar.xz
6484c4cac1724f2818354e3f2a8ede66308617b648cd3db624596b8cd58b5f6b  node-v5.0.0-linux-x86.tar.gz
46a56d8c00a791f46666dd9d2401b7c26ee7ac8455762fbb106c1497867c9c4b  node-v5.0.0-linux-x86.tar.xz
f23ca05d3d7e642ab9b0c8090b0b88fb29dec987b07d67f307bf3aef81e95b14  node-v5.0.0.pkg
7cfbed6e6658d8304f8593eae9dd28f8f83b57e7a6345b32f4d5e9830b80203f  node-v5.0.0-sunos-x64.tar.gz
047bd9fbb25fc6a3349781bddf5210966943b06fa62c6e275d1221613c9f3423  node-v5.0.0-sunos-x64.tar.xz
2e9d65dff65843ebfa5c9d623c5b930bd0af7252101cc9c69c55aa8c880fa9eb  node-v5.0.0-sunos-x86.tar.gz
c7038764010eba883b5fa638123b7b94e82b86960a0792a7b10123451d978e9a  node-v5.0.0-sunos-x86.tar.xz
698d9662067ae6a20a2586e5c09659735fc0050769a0d8f76f979189ceaccdf4  node-v5.0.0.tar.gz
cf4f261618e19517c8cbf2fdde00d0b5160e271760abee00f387b11a0b3ca834  node-v5.0.0.tar.xz
8a066f8cf38f4dd979366c223d90d6242076d2446f48856abb091b2becc939ef  node-v5.0.0-x64.msi
07826a6b60702a0ce9a77240103bf20091a06ee740e646e9f7d6ca760c64e45a  node-v5.0.0-x86.msi
27c819be0958fdb4b63be29fb032525965e997da8e0f6b4a6e9123350b7b22e0  win-x64/node.exe
27992ac24ab67099d243e76fc52382b42caf4bf75b4b792d647359221dfa5d0f  win-x64/node.lib
b2a5caab041d6e0a3fefc3a0b557df71ce9174c9ca344e5a690b9accb9f76d84  win-x86/node.exe
f79d9545ad99221d090c30e415af74431eae15c729e820a96385b051be3837f2  win-x86/node.lib
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQEcBAEBAgAGBQJWMom1AAoJEMJzeS99g1RdsxAIAKcA3B14sgCa6qZ1LZfXN5Qj
hogNS6r1L6Mb15E4Gvknjej2n2At2PpdSmxPKIex2uhwGJHcidyakn3NzPwzhdJQ
VtgQKL7G7ZhsXYrKD78kS6GdGql1u4MroTbHSACthmZv+OdDhGEmL1UIN8+PU45V
gBDwg+JPRPYeSGzXcqOwmUHkqgvCaFvyGZfu0j18GT8TjaXkj5M8J9emtmtRBX15
Sp9jbOMRrt9gGHmIqcx/AzCIfqGyi4Lb/CwdyD5hXWfHFfeWspsOx+RFFh965JLy
F6Z13Zr5Oph2fdobiuXYN1WSmrHX2kfy1B2WAt80vwwVzEiIQcSUhEU9qu8z9Qg=
=v3xU
-----END PGP SIGNATURE-----
目录
相关文章
|
内存技术
终端执行nvm ls 命令返回 iojs -> N/A (default) node -> stable (-> N/A) (default) unstable -> N/A (default)...
终端执行nvm ls 命令返回 iojs -> N/A (default) node -> stable (-> N/A) (default) unstable -> N/A (default)...
880 0
|
JavaScript 网络协议 Unix
|
3月前
|
JavaScript
NodeJs的安装
文章介绍了Node.js的安装步骤和如何创建第一个Node.js应用。包括从官网下载安装包、安装过程、验证安装是否成功,以及使用Node.js监听端口构建简单服务器的示例代码。
NodeJs的安装
|
2月前
|
JavaScript 开发工具 git
已安装nodejs但是安装hexo报错
已安装nodejs但是安装hexo报错
32 2
|
3月前
|
存储 JavaScript 前端开发
Node 版本控制工具 NVM 的安装和使用(Windows)
本文介绍了NVM(Node Version Manager)的Windows版本——NVM for Windows的安装和使用方法,包括如何安装Node.js的特定版本、列出已安装版本、切换使用不同版本的Node.js,以及其他常用命令,以实现在Windows系统上对Node.js版本的便捷管理。
Node 版本控制工具 NVM 的安装和使用(Windows)
|
2月前
|
Web App开发 JavaScript 前端开发
JavaWeb 22.Node.js_简介和安装
JavaWeb 22.Node.js_简介和安装
|
3月前
|
SQL JavaScript 数据库
sqlite在Windows环境下安装、使用、node.js连接
sqlite在Windows环境下安装、使用、node.js连接
|
3月前
|
JavaScript Linux 开发者
一个用于管理多个 Node.js 版本的安装和切换开源工具
【9月更文挑战第14天】nvm(Node Version Manager)是一个开源工具,用于便捷地管理多个 Node.js 版本。其特点包括:版本安装便捷,支持 LTS 和最新版本;版本切换简单,不影响开发流程;多平台支持,包括 Windows、macOS 和 Linux;社区活跃,持续更新。通过 nvm,开发者可以轻松安装、切换和管理不同项目的 Node.js 版本,提高开发效率。
104 4
|
2月前
|
JavaScript 算法 内存技术
如何降低node.js版本(nvm下载安装与使用)
如何降低node.js版本(nvm下载安装与使用)
|
4月前
|
缓存 JavaScript 安全
2022年最新最详细的安装Node.js以及cnpm(详细图解过程、绝对成功)
这篇文章提供了2022年最新最详细的Node.js和cnpm安装教程,包括步骤图解、全局配置路径、cnpm安装命令、nrm的安装与使用,以及如何管理npm源和测试速度。
2022年最新最详细的安装Node.js以及cnpm(详细图解过程、绝对成功)