到 Node.js 官網查看安裝說明。(若使用 epel repo 安裝,可能是很舊的版本)
https://nodejs.org/en/download/package-manager/#enterprise-linux-and-fedora
可知 NodeSource repository 有提供 Node.js
按照說明安裝 NodeSource repos (有奇數版、偶數版,一般使用偶數版)
$ curl --silent --location https://rpm.nodesource.com/setup_8.x | sudo bash -查看系統 repo,可發現已新增 NodeSource repository
$ yum repolist all .... nodesource/x86_64 Node.js Packages for Enterprise Linux 7 - x86_64 enabled: 74 nodesource-source Node.js for Enterprise Linux 7 - x86_64 - Source disabled ....
[Node.js 安裝、指令]
安裝 Node.js 套件
$ yum install nodejs查看 node.js 版本
$ node -v v8.10.0執行 JavaScript 文件。aa.js 內容為 console.log("test")
$ node aa.js test
也可不輸入附檔名 $ node aa test直接執行 JavaScript
$ node -e 'console.log("test")' test若只輸入 node,則會進入 REPL(Read-Eval-Print Loop) 環境
$ node > xyz ReferenceError: xyz is not defined > var xyz=6 undefined > xyz 6 > _+10 16 > xyz 6 > .exit使用嚴格模式進入 REPL 環境
$ node --use_strict使用嚴格模式執行 JavsScript 文件
$ node --use_strict aa.js
[npm 指令]
安裝 Node.js 時,也會安裝npm(Node Package Manager)
查看 npm 版本
$ npm -v 5.6.0查看 npm 設定
$ npm config ls -l在專案資料夾產生 npm 使用的 package.json 文件(https://docs.npmjs.com/files/package.json)
package.json 會紀錄專案相關資訊,以及安裝的套件版本、相依性...
$ npm init安裝 package.json 文件內的相依套件(佈署到新環境時,上傳 package.json 即可安裝)
$ npm install查看 package 資訊
$ npm info [package_name] $ npm info [package_name] description $ npm info [package_name] version搜尋相關 package
$ npm search <關鍵字(可用正規表示式)>查看目前目錄安裝的 package
$ npm ls查看全域安裝的 package
$ npm ls -global查 npm 全域 package 的安裝路徑
$ npm root -g列出目前目錄安裝的特定package
$ npm ls [package_name]在目前目錄安裝 package (加 -save 會將 package 相依性、版本寫在 package.json 文件)
$ npm install [package_name] --save安裝 package(全域)
$npm install [package_name] -g安裝指定版本的 package(可用來強制安裝較舊的版本)
$ npm install package_name@latest $ npm install package_name@0.3.6升級 package
$ npm update [package_name] --save移除 package
$ npm uninstall [package_name] --save通常 npm 版本更新的比 node.js 頻繁,可用以下指令更新 npm 到最新版
$ npm install npm@latest -g檢查 package 是否有漏洞
$ npm audit修復 package 漏洞
$ npm audit fix
安裝 package.json 中的全部套件
npm ci 跟 npm install 類似,但可以確保乾淨安裝。
跟 npm install 的差異:
1.必須有 package-lock.json 或 npm-shrinkwrap.json 檔案
2.package lock 跟 package.json 不匹配時,會出錯退出,而不是更新 package lock
3.只能安裝整個專案全部的套件,不能安裝個別套件
4.會先刪除 node_modules 資料夾,再重新安裝
5.永遠不會更新 package.json 或 package-locks
$ npm ci
[Node.js 全域物件]
console:https://nodejs.org/api/globals.html#globals_console
exports:https://nodejs.org/api/globals.html#globals_exports
module:https://nodejs.org/api/globals.html#globals_module
process:https://nodejs.org/api/globals.html#globals_process
[Node.js 全域函式]
Class: Buffer:https://nodejs.org/api/globals.html#globals_class_buffer
clearImmediate(immediateObject):https://nodejs.org/api/globals.html#globals_clearimmediate_immediateobject
clearInterval(intervalObject):https://nodejs.org/api/globals.html#globals_clearinterval_intervalobject
clearTimeout(timeoutObject):https://nodejs.org/api/globals.html#globals_cleartimeout_timeoutobject
setImmediate(callback[, ...args]):https://nodejs.org/api/globals.html#globals_setimmediate_callback_args
setInterval(callback, delay[, ...args]):https://nodejs.org/api/globals.html#globals_setinterval_callback_delay_args
setTimeout(callback, delay[, ...args]):https://nodejs.org/api/globals.html#globals_settimeout_callback_delay_args
[Node.js 全域變數]
__dirname:https://nodejs.org/api/globals.html#globals_dirname
__filename:https://nodejs.org/api/globals.html#globals_filename
require():https://nodejs.org/api/globals.html#globals_require
參考:
Node.js 教程 | 菜鸟教程
05 - Working with package.json | npm Documentation
ls | npm Documentation
npm模块管理器 -- JavaScript 标准参考教程(alpha)
CommonJS规范 -- JavaScript 标准参考教程(alpha)
https://docs.npmjs.com/getting-started/installing-node#3-update-npm
Node.js 概述 -- JavaScript 标准参考教程(alpha)
Global Objects | Node.js v9.9.0 Documentation
Index | Node.js v8.10.0 Documentation
沒有留言:
張貼留言