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】

 

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