在線上服務器上無管理員權限下升級NodeJS版本

Node.js 腳本語言 Linux Mac 達人科技 2017-03-29

前言

最近發現一個線上機器的問題,是因為node版本過低導致的,線上機器的node版本還是0.x版,遂打算升級node版本。

但是發現常規的npm包的n模塊無法使用,提示沒有權限創建文件夾,導致node升級失敗。

最後聯繫相關同學得知升級node必須要聯繫線上機器管理的SRE或是運維來升級。

在聯繫無果的情況下發現可以通過其他方法來升級node。

解決方案

沒有nvm,node版本0.12太低了

沒有管理員權限,也無法使用n模塊來升級node

在線上服務器上無管理員權限下升級NodeJS版本

安裝nvm

wget -qO- https://raw.github.com/creationix/nvm/v0.4.0/install.sh | sh

安裝完成後無法直接使用報錯。

在線上服務器上無管理員權限下升級NodeJS版本

雖然已經提示“Appending source string to /home/sankuai/.bash_profile”但是依然無法使用nvm命令。

按照提示應該重啟terminal,但是也可不重啟terminal。

需要執行source命令或點命令,在當前shell進程中執行sh腳本,以達到直接使設定生效的目的。

在線上服務器上無管理員權限下升級NodeJS版本

最後執行“nvm install 6.2”命令即可成功升級Node版本

Node升級後退出terminal後再次進入Node版本變更問題

安裝後退出再進入發現node版本變了

在線上服務器上無管理員權限下升級NodeJS版本

解決方法

nvm有alias命令可設定默認版本。

可通過 nvm alias default v6.2.2 來鎖定默認版本為指定版本號來解決

在線上服務器上無管理員權限下升級NodeJS版本

附錄

  1. Linux下的brew工具 http://linuxbrew.sh/
  2. Node.js 安裝與版本切換教學 (for MAC) http://icarus4.logdown.com/posts/175092-nodejs-installation-guide
  3. 利用n和nvm管理Node的版本 http://weizhifeng.net/node-version-management-via-n-and-nvm.html
  4. source命令詳解1 http://www.ahlinux.com/shell/23595.html
  5. source命令詳解2 http://blog.csdn.net/thl789/article/details/6543836
  6. nvm 設置默認版本失敗 https://segmentfault.com/q/1010000004858041

相關推薦

推薦中...