Node.js
Node.js 是一個 javascript 運行環境,並附帶有功能豐富的庫.使用 Google's V8 引擎 在瀏覽器外執行代碼. 由於其是事件驅動、非阻塞 I/O 模型,它適合於實時 web 應用.
安裝[編輯 | 編輯原始碼]
- nodejs-lts-hydrogen包 - 18.X
- nodejs-lts-iron包 - 20.X
多版本需求[編輯 | 編輯原始碼]
如果需要使用多個 nodejs包 版本,可以使用 NVM (Node Version Manger). nvmAUR 可以很方便的安裝多個版本,並在版本間快速切換。命令很簡單:
將下面命令加入 shell 的啟動文件:
# Set up Node Version Manager source /usr/share/nvm/init-nvm.sh
項目的 GitHub 頁面包含使用文檔,命令很簡單:
$ nvm install 8.0 Downloading and installing node v8.0.0... [..] $ nvm use 8.0 Now using node v8.0.0 (npm v5.0.0)
使用 nvmAUR 時,可以用 pacman 的 --assume-installed nodejs=<version>
參數避免安裝系統提供的版本。
Node Packaged Modules[編輯 | 編輯原始碼]
npm 是官方的 node.js 包管理器,通過軟件包 npm包 進行安裝。
使用 npm 管理包[編輯 | 編輯原始碼]
安裝軟件包[編輯 | 編輯原始碼]
任何包可以用以下命令安裝:
$ npm install packageName
這個命令會將包安裝在當前目錄下 node_modules
目錄內,可執行命令(如果有)安裝在 node_modules/.bin
目錄下.
作為系統級的全局安裝使用 -g
選項:
# npm -g install packageName
默認情形下這個命令會將包安裝至 /usr/lib/node_modules/npm
,需要管理員權限.
用戶級別安裝[編輯 | 編輯原始碼]
作為個人用戶級的安裝您可以使用一個本地目錄來配置 npm
。添加下列行到您的 shell 配置文件 (e.g. .bash_profile
)。
~/.profile
PATH="$HOME/.node_modules/bin:$PATH" export npm_config_prefix=~/.node_modules
不要忘記重新登錄或讀取新配置。
也可以在 npm install
時指定 --prefix
參數,但是不建議使用這個方式,因為需要每次安裝全局軟件包時都記得使用此參數。
$ npm -g install packageName --prefix ~/.node_modules
更新包[編輯 | 編輯原始碼]
更新包只需要執行
$ npm update packageName
對於全局環境安裝的包 ( -g
)
# npm update -g packageName
prefix
設置到用戶可寫目錄。更新所有包[編輯 | 編輯原始碼]
有時您只希望更新所有包,去掉包名將試圖更新所有包。
$ npm update
或者添加 -g
標記更新全局環境安裝的包
# npm update -g
刪除包[編輯 | 編輯原始碼]
刪除使用 -g
標記安裝的包只須:
# npm -g uninstall packageName
若刪除個人用戶目錄下的包去掉標記執行:
$ npm uninstall packageName
列出所有包[編輯 | 編輯原始碼]
若要顯示已安裝的包的樹形視圖執行:
$ npm -g list
僅顯示頂層樹:
$ npm list --depth=0
要顯示需要更新的過期軟件包:
$ npm outdated
使用 pacman 管理包[編輯 | 編輯原始碼]
一些 node.js 包可以在 Arch User Repository 找到,命名為 nodejs-packageName
格式。
問題處理[編輯 | 編輯原始碼]
node-gyp python 錯誤[編輯 | 編輯原始碼]
有些使用 node-gyp
的工具不支持系統上的 Python 3,要解決這個問題,需要安裝 python2AUR並在 nvm 中設置:
$ npm config set python /usr/bin/python2
如果出現 gyp WARN EACCES user "root" does not have permission to access the ... dir,可以使用 --unsafe-perm 選項:
# npm install --unsafe-perm -g node-inspector
無法找到模塊錯誤[編輯 | 編輯原始碼]
從 npm 5.x.x. 開始,package-lock.json 會和 package.json 文件一起創建,如果兩個文件引用了不同的版本,會出現衝突。臨時解決方案是:
$ rm package-lock.json $ npm install
nmp 5.1.0 或以上版本已經解決了此問題,請參考: missing dependencies
其他資源[編輯 | 編輯原始碼]
更多關於 nodejs包 和官方包管理器 npm 的使用信息您也許需要查詢下列額外資源。
- NodeJs Documentation Node 文檔和教程。
- NodeJS Community
- API Documentation 官方
npm
API 文檔 - IRC channel #node.js on irc.libera.chat
中文社區
- v2ex NodeJS 節點 開發者作品發布與開發探討
- cnodejs.org Node.js 專業中文社區