NodeJS (npm) 學習筆記
零,
npm是nodeJS的包管理器,下載nodeJS后會自動安裝好npm.
npm 常用命令:
※,IDEA的terminal下運行npm install不成功或速度很慢時,打開cmd窗口以管理員身份重新運行npm install 可能會有驚喜........
※,npm config list 查看所有配置信息
※,npm list -g --depth 0: 查看所有已安裝的包以及其所在的目錄。 npm list -g typescript@3.1.3 查看typescript的信息。
※,npm start 執行的是package.json 中的scripts.start的值。npm start 是 npm run start的簡寫。
※,npm view typescript version 查看 typescript 的最新穩定版本;npm view typescript versions 查看所有可用版本
一,windows下安裝 nodeJS并配置(以及angular安裝相關問題)
1, 下載安裝 https://nodejs.org/en/download/ 安裝路徑為 D:\nodejs
2,將 D:\nodejs① 配置到環境變量Path中。然后打開cmd輸入 node -v 和 npm -v 檢查安裝是否成功.
3,默認的安裝下,npm的本地倉庫建立在了C盤:C:\Users\admin\AppData\Roaming,現在將其移動至 nodeJS的安裝目錄:D:\nodejs
3.1.1,運行如下命令可以將倉庫地址移至D盤 npm config set prefix "D:\nodejs\node_global" //這里配置的全局模塊存儲位置 npm config set cache "D:\nodejs\node_cache" //這里配置cache路徑 3.1.2,這個步驟也可以通過如下方式:打開 D:\nodejs\node_modules\npm\npmrc文件,配置如下路徑: prefix=D:\nodejs\node_global //這里配置的全局模塊存儲位置 cache=D:\nodejs\node_cache //這里配置cache路徑 注意,這個是直接在文件里添加的,如果使用 3.1.1 中的命令:npm config set prefix "D:\nodejs\node_global" , npm config set cache "D:\nodejs\node_cache",
則配置信息并不是寫到上面那個npmrc中,而是寫入到 C盤下用戶路徑下的npmrc中去了。如果此文件里的內容格式不對,將導致npm命令無任何響應...npm -v等等。 3.2, 輸入`npm prefix -g` 查看npm的本地全局倉庫的位置,發現已經移至D盤。
3.2.1. ·npm config ls(list也行)` 輸出中的prefix 也是指全局倉庫目錄。
3.3 查看全局安裝過的模塊:
·npm list -g`
`npm list -g --depth 0`
3.4
6,輸入命令:`npm config set registry=http://registry.npm.taobao.org` 配置鏡像站,提升速度(配置后可通過npm config list查看)
7,npm install -g express 將會將express模塊下載至全局倉庫中 D:\nodejs\node_global\node_modules, 此時如果在node命令行中require("express")則會報錯,找不到express模塊。此時需要再②添加一個環境變量:NODE_PATH,其值為 D:\nodejs\node_global\node_modules 【因為原來存放模塊的目錄 D:\nodejs\node_modules 變為了 D:\nodejs\node_global\node_modules 】,另外注意 npm install -g express-generator才是express項目的骨架生成器(腳手架). express myExpressApp 命令會生成express項目文件夾。然后進入myExpressApp文件夾運行npm install 安裝項目依賴。
7.1, 安裝typescript: npm install -g typescript ,(tsc -v命令現在還無效,需添加環境變量,下面有說明)然后在 idea Intellij 中配置typescript編譯選項

8,安裝angular腳手架:` npm install -g @angular/cli` , 然后運行`ng -v`查看angular版本,發現報錯,此時需要將 D:\nodejs\node_global ③添加到環境變量中。因為 typescript 和 angular安裝之后ng,tsc在D:\nodejs\node_global 文件夾下都有一個啟動命令文件,所以將此路徑加入環境變量才會啟動,實際上啟動的就是這里的文件。
9,安裝cnpm以及@angular/cli時一直卡在 checking status 處, 自己的解決方法是:進入C盤/用戶/appdata/roaming文件夾,將node_global和node_cache文件夾刪除,同時將自己在D盤的npmrc中設置的node_cache和node_global 兩個文件夾中的內容清空。重新打開控制臺安裝就好了。
10, 總結一下win7下node所有的環境變量配置:(都可以直接在系統環境變量下配置,不用管用戶環境變量,假設nodejs安裝在 D:\nodejs 文件夾):
- 將【D:\nodejs】加入Path,否則node -v 和 npm -v提示不是內部命令
- 將在npmrc中配置的全局模塊路徑【D:\nodejs\node_global ,默認是C盤 C:\Users\admin\AppData\Roaming,改為了D盤】添加到Path, 否則安裝的模塊,如ng -v,tsc -v會提示不是內部命令。(注意到了一個東西:安裝之后ng,tsc在D:\nodejs\node_global 文件夾下都有一個啟動命令文件,所以將此路徑加入環境變量才會啟動,實際上啟動的就是這里的文件)
- 將在npmrc中配置的全局模塊路徑【D:\nodejs\node_global\node_modules】添加到NODE_PATH, 否則node加載模塊時(require("express"))提示找不到模塊。
11,Intellij Idea(或phpstorm)配置ts文件(或js文件)運行(調試):
首先要安裝插件,如下圖,然后新建一個nodejs配置,然后選擇ts對應的js文件(直接選ts運行會報錯),然后就可以調試ts(js)文件了。
、

12, `npm 安裝yarn`
-- 安裝
npm install -g yarn --registry=https://registry.npm.taobao.org
-- 配置
yarn config set registry https://registry.npm.taobao.org -g
yarn config set sass_binary_site http://cdn.npm.taobao.org/dist/node-sass -g
-- yarn 常用命令
yarn global dir // 查看全局模塊位置
yarn global add [modulename]
13, npm install 出現需要Python2而電腦裝的Python3問題解決
不需要裝python2,只需要用管理員打開cmd控制臺窗口運行npm install 即可。
14,`npm 安裝cnpm`
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
15,
16,
17,
二, ubuntu16.04 node 8.11.3安裝
官網下載 https://nodejs.org/zh-cn/包,解壓到某個目錄,注意是xz壓縮格式,用參數J
tar xvJf node-v8.11.3-linux-x64.tar.xz -C xx/
然后進入xx/bin中運行 ./node -v即可,同樣 ./npm -v。
建立軟連接可以使node, npm命令全局使用:
ln -s path/to/xx/bin/node /usr/local/bin/node
ln -s path/to/xx/bin/npm /usr/local/bin/npm
※,
※
四,發布和刪除自己的npm包步驟: 點我查看官方教程。
- 進入待發布包的目錄下,輸入 npm init ,然后按照提示輸入用于生成package.json的信息。
- 輸入 npm adduser命令,添加并登錄自己的npm賬號。(everest33 y......33 y..t...@126.com)。如果沒有這一步,輸入npm publish時會報 權限錯誤: errno -4048
- 輸入npm publish 即可發布自己的包到npm 倉庫中。可以通過 npm 官網 https://www.npmjs.com/ 查詢查看自己的包。
- 如果npm publish命令報錯:publish Failed PUT 403。出現原因:使用的是淘寶源cnpm,登陸到的是cnpm。解決方法:切換到npmjs的網址,代碼如下:npm config set registry http://registry.npmjs.org/。切換后需要npm adduser再次添加并登陸自己的npm賬號。
- 如果想換回淘寶源: http://registry.npm.taobao.org/
- 如果想刪除倉庫中的包: 進入發布包目錄,輸入 npm unpublish --force
五,
六,
浙公網安備 33010602011771號