npm 、cnpm常用命令及.npmrc配置文件詳解

npm 、cnpm常用命令及.npmrc配置文件詳解

1、npm 和 cnpm的作用

NPM(Node Package Manager,節點包管理器)是NodeJS的包管理器,用於節點插件的管理(包括安裝,卸載和管理依賴等)。NPM是隨同NodeJS一起安裝的包管理工具,所以我們需要安裝NodeJS。

NPM的常見使用場景

1.允許用戶從NPM服務器上下載別人編寫的第三方包到本地使用。

2.允許用戶從NPM服務器上下載並安裝別人編寫的命令行程序到本地使用。

3.允許用戶將自己編寫的包或命令行程序上傳到NPM服務器上供別人使用。

使用nom安裝插件:npm install <name> [-g] [--save-dev]

使用npm卸載插件:npm uninstall <name> [ -g ] [ --save-dev ]

使用npm更新插件:npm update <name> [ -g ] [ --save-dev ]

其中<name>:節點插件名稱。

Install可簡寫爲i。

-g:有它爲全局(global)安裝,並且寫入系統環境變量;無則爲非全局安裝,

兩者區別如下:

本地安裝

(1)將安裝包放在 ./node_modules 下(運行 npm 命令時所在的目錄),如果沒有 node_modules 目錄,會在當前執行 npm 命令的目錄下生成 node_modules 目錄。

(2)可以通過 require() 來引入本地安裝的包。

全局安裝

(1)將安裝包放在 /usr/local 下或者你 node 的安裝目錄。

(2)可以直接在命令行裏使用。

--save:將保存至package.json(package.json是NodeJS項目配置文件)。

-dev;:保存至的package.json的devDependencies節點,不指定-dev將保存至依賴節點。

 

爲什麼要用CNPM

NMP安裝插件是從NPM官網下載對應的插件包,該網站的服務器在國外,經常會出現下載緩慢或出現異常,這時便需要找到另外的方法提供穩定的下載,這個方法就是CNPM。阿里巴巴的淘寶團隊把NMP官網的插件都同步到了在中國的服務器,提供給我們從這個服務器上穩定下載資源。

CNMP同樣是NMP的一個插件,要安裝的話需要在cmd命令行控制檯執行以下命令:

npm install cnpm -g --registry=https://registry.npm.taobao.org

安裝完成後可以使用cnpm -v命令查看版本號,要使用cnmp命令的話最好在安裝後重新打開cmd命令行控制檯。

cnpm的用法和npm的用法一致,只是在執行命令的時候將npm改爲cnpm。

關於淘寶 NPM 鏡像可參見:

https://developer.aliyun.com/mirror/NPM?from=tnpm

 

2、修改Nodejs內置的npm默認配置路徑

Nodejs 內置的npm默認會把模塊安裝在c盤的目錄下:C:\Program Files\nodejs\node_modules

 

查看npm的當前配置

在cmd中輸入 npm config ls

 

安裝的模塊(包)存放路徑以及cache的路徑的配置,這些路徑默認是在 C 盤:

npm install安裝的模塊(包)可以通過下面的命令查看路徑。

npm config get prefix

 

緩存目錄,可以通過下面的命令,找到對應的位置

npm config get cache

 

這樣會增加系統盤的負擔,可以修改兩個路徑

首先在別的盤新建兩個目錄

E:\nodejs\node_modules

E:\nodejs\node_cache

 

然後在cmd中依次執行:

npm config set prefix"E:\nodejs\node_modules"

npm config set cache"E:\nodejs\node_cache"

 

或者,直接修改.npmrc配置文件

在cmd中使用npm config edit命令,打開.npmrc配置文件(參見後面的3),

在其中找到

prefix=

cache=

這兩處,修改成:

prefix= E:\nodejs\node_modules

cache= E:\nodejs\node_cache

 

修改環境變量

由於node全局模塊大多數都是可以通過命令行訪問的,所以還要把“E:\nodejs\ node_modules”加入到系統PATH中,方便直接使用命令行運行。

 

3、想知道.npmrc文件的位置,可以通過下面的命令查看

npm config ls -l

顯示結果的“userconfig =”右側,就是.npmrc文件的位置

 

查看.npmrc配置文件的命令:npm config edit

 

 

4、使用npm init初始化項目

爲什麼要使用npm init初始化項目

在node開發中使用npm init會生成一個pakeage.json文件,這個文件主要是用來記錄這個項目的詳細信息的,它會將我們在項目開發中所要用到的包,以及項目的詳細信息等記錄在這個項目中。方便在以後的版本迭代和項目移植的時候會更加的方便。使用npm init初始化項目還有一個好處就是在進行項目傳遞的時候不需要將項目依賴包一起發送給對方,對方在接受到你的項目之後再執行npm install就可以將項目依賴全部下載到項目裏。

 

在cmd窗口執行的,我們可以windows+r鍵來打開窗口,然後輸入cmd執行。在cmd窗口中用cd命令進入自己項目所在的目錄。

【若想新建一個空的文件夾,可以使用mkdir命令】

調用 npm init 來初始化 package.json,它是 NodeJS 約定的用來存放項目的信息和配置等信息的文件。

進入到項目所在的目錄之後,就可以直接執行npm init

執行了npm init之後,會讓我們填寫一些配置信息

【或者執行npm init -y 

其中y 代表yes ,省去了默認選項點擊。】

 

說明:

package name:                      你的項目名字叫啥

version:                          版本號

description:                       對項目的描述

entry point:                      項目的入口文件(一般你要用那個js文件作爲node服務,就填寫那個文件)

test command:                     項目啓動的時候要用什麼命令來執行腳本文件(默認爲node app.js)

git repository:                    如果你要將項目上傳到git中的話,那麼就需要填寫git的倉庫地址(這裏就不寫地址了)

keywirds:                       項目關鍵字(可以不輸入)

author:                         作者的名字(也就是你叫啥名字)

license:                        發行項目需要的證書(可以先不管)

 

如果我們在進行package.json文件配置的時候寫錯了東西,或者後期要添加什麼內容的話,我們是可以直接在項目的根目錄中找到package.json打開(可用“記事本”打開)然後進行編輯修改。

如果我們在進行package.json文件配置的時候寫錯了東西,或者後期要添加什麼內容的話,我們是可以直接在項目的根目錄中打開然後進行修改,我在配置文件中增加了一個運行項目的命令

//package.json

{

  "name": "xajd",

  "version": "1.0.0",

  "description": "我的第一個node項目",

  "main": "app.js",

  "dependencies": {

    "koa": "^2.0.0",

    "koa-router": "^7.4.0",

    "mysql": "^2.17.1"

  },

  "devDependencies": {},

  "scripts": {

    "test": "echo \"Error: no test specified\" && exit 1",

    "start": "node app.js"          //加入“入口文件”,執行npm start會執行app.js

  },

  "author": "wudi",

  "license": "ISC"

}

 

我在入口文件中寫入了這一行代碼

//app.js

console.log(`我  已   經成 功

 運  行   了 `)

 

接下來我們啓動項目

npm start

執行情況如下:

 

【或,輸入 node tapp.js 也可以:

5、查看安裝過的模塊和包的安裝位置及版本信息

 

查看安裝過的模塊和包的安裝位置

npm ls 名字 -g

其中-g查看全局的模塊和包信息,去掉查看本地的

例、查看mysql模塊和包,留意-g使用與否的差別

npm ls mysql -g

 

npm ls mysql

 

 

查看本地下載的包版本信息

npm ls 名字 -g

其中-g查看全局的模塊和包信息,去掉查看本地的

查看下載的 mysql 包版本信息:

 

【查看npm服務器上包所有的版本信息

npm view 名字 versions|version

versions|version兩者選一,versions 查看npm服務器上包所有的版本信息;version查看npm服務器上最新包的版本信息;

如npm view mysql versions】

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章