node npm nrm nvm gnvm 相爱相杀
寫這篇文章之前我遇到了一個坑,為了一個坑我花了兩天時間去搞懂里面的原理。
接下來我會圍繞以下幾點進行分析:
1- npm 降級
2- npm 升級
3- 如何清除已設置的npm淘寶鏡像
4- 突發意外:node 和 npm 不兼容出現問題
5- antd 升級問題
npm降級
在 create-react-native-app 的時候發現,它們“強烈推薦”使用npm v3或者v4,因為v5還有些bug沒解決,對于create-react-native-app不穩定
簡單暴力的方法是
但是這樣子的太暴力,容易出現 node 版本和 npm 版本不兼容的問題。
所以這里推薦nvm ,進行node版本管理。
nvm是個啥?
nvm是一個可以讓你在同一臺機器上安裝和切換不同版本node的工具!!!!
nvm地址: https://github.com/coreybutler/nvm-windows
nvm下載:https://github.com/coreybutler/nvm-windows/releases
進入到下載頁,選擇最新發版的1.1.5版本,nvm-setup.zip進行下載,并且安裝。預發行的,一般都不太穩定。
重點:
第一: windows用戶安裝windows補丁: http://www.3322.cc/soft/20130711258.html
第二: 在安裝NVM for Windows之前,您需要卸載任何現有版本的node.js。
同時刪除可能保留的任何現有nodejs安裝目錄(例如,“C:\ Program Files \ nodejs”)。
{ NVM生成的符號鏈接不會覆蓋現有的(甚至是空的)安裝目錄 }
還應該刪除現有的npm安裝位置(例如“C:\ Users \ AppData \ Roaming \ npm”),以便正確使用nvm安裝位置。安裝完成后,必須為每個安裝的節點版本重新安裝全局實用程序(例如gulp)。
{ 對于我們項目來說:用戶使用防病毒報告了一些問題,特別是McAffee }
安裝nvm
在git中安裝:
1- 安裝
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.2/install.sh | bash2- 查看版本
nvm –version3- 查看所有node版本
nvm ls-remote4- 切換node版本
nvm use v7.9.0如何清除已設置的npm淘寶鏡像
方法一:
設置淘寶的鏡像是:
npm config set registry https://registry.npm.taobao.org不想用他們的,再設置回原來的就可以了:
npm config set registry https://registry.npmjs.org方法二:
npm config delete registry npm config delete disturl方法三: 使用nrm (鏡像管理)
看上面的命令不用我多說了,安裝,查看,切換鏡像。
npm升級
方法一:
最粗暴辦法:
npm install -g npm方法二:
或者gnvm 切換node版本
1- 將gnvm放到node的根目錄
2- 安裝gnvm
先將 gvnm.exe放到node的根目錄下面;
然后下面我再介紹使用辦法:
突發意外:node 和 npm 不兼容出現問題
比如同學或者同事把node和npm搞壞了,這個時候要怎么辦呢?比如這個
不要以為是少了一個包,試圖去安裝這個包沒用的
更新npm 版本,npm升級沒用的!!!
于是乎,我去github轉了一圈,發現最近剛好有人遇到和我一樣的問題
然后解決辦法是這樣子的:
黑人小哥回復我, 需要刪除node 相關的依賴和環境變量和node, 然后在重新安裝。
于是乎我去刪除:
然后重新安裝了node ,發現就好了。這里呢,外國小哥,并沒有說明為什么會有這樣子的問題。
其實我理解為,對于node 和npm 都是先關連的,就像硬件的兼容性一樣,不一定都是穩定配置或者高配置就可以結合在一起,兩者之間都是有相互作用的。
補充一個 antd design 2.0版本的一個BUG
關于antd2.9 版本以前對于,表單中 下拉選擇中歷史記錄并未做處理,在2.9版本之后進行了,添加原生 antocomplete=”off”,所以升級到2的最后一個版本2.13.14
效果展示:
git上的解釋為:
解決辦法:
npm install antd@2.x
升級antd到2的最后一個版本,不要到3 要不會出現一些問題。
這時候你查看 package.json文件
參考鏈接:
- node官網
https://nodejs.org/en/download/ - gnvm官網:
https://github.com/Kenshin/gnvm - antd官網
http://ant.design/index-cn - git問題地址:
https://github.com/npm/npm/issues?utf8=?&q=Cannot+find+module+'internal%2Futil%2Ftypes' - nvm 地址
https://www.npmjs.com/package/nvm - nrm 地址
https://www.npmjs.com/package/nrm
總結
以上是生活随笔為你收集整理的node npm nrm nvm gnvm 相爱相杀的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 说木叶二十一句诗翻译
- 下一篇: 将一个对象拆开拼接成URL