在centos7安裝nodejs並升級nodejs到最新版本

下面操做服務器的身份默認是管理員root,若是權限不足,請加 sudonode

1. 安裝nodejs

1.1 使用EPEL安裝

EPEL(Extra Packages for Enterprise Linux)企業版Linux的額外軟件包,是Fedora小組維護的一個軟件倉庫項目,爲RHEL/CentOS提供他們默認不提供的軟件包。
先確認系統是否已經安裝了epel-release包:git

$ yum info epel-release

若是有輸出有關epel-release的已安裝信息,則說明已經安裝,若是提示沒有安裝或可安裝,則安裝github

$ yum install epel-release

安裝完後,就可使用yum命令安裝nodejs了,安裝的通常會是6.x的版本,而且會將npm(3.x)做爲依賴包一塊兒安裝npm

$ sudo yum install nodejs

安裝完成後,驗證是否正確的安裝,node -v,若是輸出以下版本信息,說明成功安裝vim

v6.13.3

問題來了,如今nodejs發的版本比較快,有些新的框架須要node的新版本,那如何升級。到如今,node的最新版本是10.4.1,那麼,下面介紹如何升級nodejsbash

1.2 卸載 nodejs

注意:這裏卸載並不是必要步驟。只是提供卸載的方案,請按需操做,不要安裝後又刪除又進行安裝掉進死循環了。

1.2.1 使用 yum 先刪除一次服務器

yum remove nodejs npm -y

1.2.2 手動刪除殘留框架

  • 進入 /usr/local/lib 刪除全部 node 和 node_modules文件夾
  • 進入 /usr/local/include 刪除全部 node 和 node_modules 文件夾
  • 檢查 ~ 文件夾裏面的"local" "lib" "include" 文件夾,而後刪除裏面的全部 "node" 和 "node_modules" 文件夾
  • 可使用如下命令查找 $ find ~/ -name node $ find ~/ -name node_modules

1.2.3 進入 /usr/local/bin 刪除 node 的可執行文件工具

  • 刪除: /usr/local/bin/npm
  • 刪除: /usr/local/share/man/man1/node.1
  • 刪除: /usr/local/lib/dtrace/node.d
  • 刪除: rm -rf /home/[homedir]/.npm
  • 刪除: rm -rf /home/root/.npm

2.升級nodesj

2.1 安裝n

n是nodejs管理工具,是TJ寫的,Github: https://github.com/tj/ncode

$ npm install -g n

2.2 安裝nodejs版本

安裝最新版

$ n latest

安裝指定版本

$ n 8.11.3

2.3 切換nodejs版本

$ n

選擇已安裝的版本

ο  node/8.11.3
    node/10.4.1

查看當前版本node -v,下面表示已切換成功

v8.13.3

但問題來了,切換後,查看版本仍是原來的v6.13.3,看下面 使用n切換nodejs版本失效的解決辦法

3 切換失效的解決辦法

3.1 查看 node 當前安裝路徑

$ which node
/usr/local/bin/node #舉個例子

3.2 而 n 默認安裝路徑是 /usr/local,若你的 node 不是在此路徑下,n 切換版本就不能把bin、lib、include、share 複製該路徑中,因此咱們必須經過N_PREFIX變量來修改 n 的默認node安裝路徑。
編輯環境配置文件:

$ vim ~/.bash_profile

3.3 將下面兩行代碼插入到文件末尾:

export N_PREFIX=/usr/local #node實際安裝位置
export PATH=$N_PREFIX/bin:$PATH

3.4 :wq保存退出

3.5 執行source使修改生效。

$ source ~/.bash_profile

3.6 這時候再查看node -v發現版本切換成功了。

相關文章
相關標籤/搜索