在Mac下安裝nvm管理node

前言

在使用node的過程當中,用npm安裝一些模塊,特別是全局包的時候,因爲Mac系統安全性的限制,常常出現安裝沒有權限,或者安裝完成使用時出現Command not found的狀況。node

以前我都是經過使用修改權限的方式來解決,可是太麻煩又感受不太安全,因而我就到網上找解決的方法,發現其實官方也是推薦咱們使用node的管理工具來解決這個問題的。官方推薦了兩個nnvm,這裏我選擇的是nvmgit

至於二者的區別能夠看一下淘寶團隊的一篇文章管理node版本,選擇nvm仍是n?github

安裝

這篇文章主要想說的就是在Mac下nvm的安裝和遇到的問題。npm

注意:不要使用Homebrew安裝nvm,這個在nvm的官方文檔中有說明。安全

nvm官方說明

具體的步驟以下:bash

首先打開終端,進入當前用戶的home目錄中。網絡

cd ~
複製代碼

而後使用ls -a顯示這個目錄下的全部文件(夾)(包含隱藏文件及文件夾),查看有沒有.bash_profile這個文件。curl

ls -a
複製代碼

若是沒有,則新建一個。electron

touch ~/.bash_profile
複製代碼

若是有或者新建完成後,咱們經過官方的說明在終端中運行下面命令中的一種進行安裝:工具

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
複製代碼
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash
複製代碼

在安裝完成後,也許你會在終端輸入nvm驗證有沒有安裝成功,這個時候你會發現終端打出Command not found,其實這並非沒有安裝成功,你只須要重啓終端就行,再輸入nvm就會出現Node Version Manager幫助文檔,這代表你安裝成功了。

注意

這裏須要注意的幾點就是:

第一點 不要使用homebrew安裝nvm

第二點 關於.bash_profile文件。若是用戶home目錄下沒有則新建一個就能夠了,不須要將下面的兩段代碼寫進去,由於你在執行安裝命令的時候,系統會自動將這兩句話寫入.bash_profile文件中。網絡上我找了好多文章都是說在安裝前先手動寫進去,通過測試這是沒有必要的,並且好像會形成安裝不成功,這一點須要注意一下。

export NVM_DIR="${XDG_CONFIG_HOME/:-$HOME/.}nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"
複製代碼

一些常見的nvm命令

nvm ls-remote 列出全部可安裝的版本

nvm install <version> 安裝指定的版本,如nvm install v8.14.0

nvm uninstall <version> 卸載指定的版本

nvm ls 列出全部已經安裝的版本

nvm use <version> 切換使用指定的版本

nvm current 顯示當前使用的版本

nvm alias default <version> 設置默認node版本

node被安裝在哪裏

在終端咱們能夠使用which node來查看咱們的node被安裝到了哪裏,這裏終端打印出來的地址實際上是你當前使用的node版本快捷方式的地址。

/Users/你的用戶名/.nvm/versions/node/v10.13.0/bin/node
複製代碼

若是你想查看全部node版本的安裝文件夾,咱們能夠在訪達(finder)中使用快捷鍵Command+Shift+G輸入/Users/你的用戶名/.nvm/versions地址就能夠看到。

可是這裏想說的是Mac默認是不顯示隱藏文件夾的,.nvm是個隱藏文件夾在訪達(finder)中看不到,直接輸入地址是無效的,在Mac下顯示隱藏文件的快捷鍵是Command+Shift+.,關閉也是這個快捷鍵。

看!這是個人!

node位置

這是在v8.14.0版本nodelibnode_modules下的模塊,能夠看到我剛剛安裝的cnpmelectron

v8.14.0

可是在v10.13.0一樣的目錄下只有npm

v10.13.0

因此能夠知道在nvmnode版本管理方式,安裝的模塊不是公用的,也就是說你在切換版本後須要在切換的版本下從新安裝,這一點和n是不一樣的,固然這也是它的優點。

相關文章
相關標籤/搜索