Node.js - nvm is not compatible with the npm config "prefix"(Mac )

萌新的 Mac 使用者遇到的雜碎問題 ...

最近開始上手 Mac,一瞬間變成電腦白痴

本篇是在 Mac 安裝 Node.js 所遇到的奇秒問題。

 

 

 

當然在版本控管部分,

使用大家最熟悉的管理工具 NVM

 

本篇記錄只有新手才會有的問題。

 

 

 

一、奇妙鐵板

 

安裝完畢後 ,在 vscode 中呼叫終端機時,

出現了以下奇景:

 

訊息寫著:

nvm is not compatible with the npm config "prefix" option: currently set to "/usr/local"
Run `npm config delete prefix` or `nvm use --delete-prefix v8.10.0 --silent` to unset it.

 

結果試著照做:

npm config delete prefix

終端機重開後又發生一樣的問題。

 

在圖片中,可以看出筆者用 NVM 安裝 Node.js 的是 8.10.0

但是使用:

node -v
# v10.9.0

居然不是我的版本!!!

 

 

這個可以算是控管上的衝突問題,

更悲劇的是,用盡全力 google,結果都是一樣的。

 

 

這時候仔細想想 ...

 

yarn!?

 

對!我有安裝。然後呢?

看一下官網:

 

 

哦哦哦哦~~

啊啊啊啊~~

 

我當初下的指令是:

brew install yarn

 

知道問題了嗎?

安裝 yarn 的時候,也安裝到了 Node.js

我們版本控管是由 NVM,因此不可以被 yarn 蓋到。

 

 

 

二、解惑也
 

首先把 yarn 除掉,待會再重新安裝。

brew uninstall yarn

 

接著把 Node.js 移除,這葛版本是 yarn 所安裝的,

移除掉並不會影響到 NVM 所安裝的 Node.js

brew uninstall node

 

這時候再次查詢版本:

node -v
# bash: /usr/local/bin/node: No such file or directory

 

別擔心那只是因為目前 NVM 不知道你要用哪個版本。

只要重新切換到指定版本即可:

nvm use 8.10.0

 

最後最後,別急!

我們要裝回原本的 yarn

brew install yarn --without-node

 

重開終端幾,試試版本查詢~

看起來都很正常囉!!!

 

如果重開機發生以下問題:

env: node: No such file or directory

 

代表 NVM 預設的 Node.js 遺失了,

這時候只要指定預設版本即可(根據自己的版本)

nvm alias default 8.10.0

 

 

 

記住這不是傳教

 

 

yarn,用心誠心寬心

 

 

有勘誤之處,不吝指教。ob'_'ov