Node.js

出自 Arch Linux 中文维基

本文或本節需要翻譯。要貢獻翻譯,請訪問簡體中文翻譯團隊

附註: Not updated for a while, still references python2.(在 Talk:Node.js# 中討論)

Node.js 是一個 javascript 運行環境,並附帶有功能豐富的庫.使用 Google's V8 引擎 在瀏覽器外執行代碼. 由於其是事件驅動、非阻塞 I/O 模型,它適合於實時 web 應用.

安裝[編輯 | 編輯原始碼]

安裝 軟件包 nodejs。還可以安裝長期支持版本:

多版本需求[編輯 | 編輯原始碼]

如果需要使用多個 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 的使用信息您也許需要查詢下列額外資源。

中文社區