呃呃呃呃呃关于这个node_modules本地安装与全局安装

192 阅读4分钟

node_modules本地安装与全局安装 · nodejs · 看云 (kancloud.cn) 记录一下 内容全是这位大佬的 我只是为了方便找

  • 认全局安装的路径:
    C:\Users\你的电脑名称\AppData\Roaming\npm下的
    如:C:\Users\Administrator\AppData\Roaming\npm\node_modules
  • 默认全局cache路径:
    C:\Users\你的电脑名称\AppData\Roaming\npm-cache下的 查看全局安装路径
npm root -g

更改默认的全局安装路径即cache路径
1、启动cmd,输入下面两行命令

npm config set prefix "D:\nodejs\node_modules\node_global"
npm config set cache "D:\nodejs\node_modules\node_cache"

2、查看是否设置成功

npm config get prefix
npm config get cache

3、修改系统环境变量(“我的电脑--右键--属性--高级系统设置---环境变量”)

D:\nodejs;D:\nodejs\node_global;

全局安装

全局安装后可以供命令行(command line)使用,用户可以在命令行中直接运行该组件包支持的命令

npm install -g electron

全局卸载

npm uninstall -g electron

本地安装

将模块安装到执行该命令的文件夹下的node_modules文件夹下,不存在node_modules则自动生成
本地安装后可以直接通过require()的方式引入项目中node_modules目录下的模块
如:本地安装electron后可以使用
var electron=require("electron")

npm install electron --save

--save表示追加方式写入到package.json文件(不加--save,则会覆盖方式写入到package.json)

本地卸载

npm uninstall electron

查看是否还存在该模块

npm ls

1、在js实例代码中,默认下node.js会在NODE_PATH和目前js所在项目下的node_modules文件夹下去寻找模块,因此,如果只是全局安装,不能直接通过require()的方式去引用模块,需要手动解决包路径的配置问题,当然你也可以复制全局安装的node_modules文件夹到项目下,还有办法可以选择将环境变量的NODE_PATH设置为node安装目录D:\nodejs

2、仅仅全局安装对于包的更新不好管理,可能你需要为每个包重新命名,如gulp@3.8.1、gulp@3.9.1...,为了区别不同项目使用指定的包,保证模块之间的相互依赖(这块下面会介绍),区别每个项目正常运行。
因此,不推荐只全局安装。

例子:weui
D:\nodejs\application中执行 npm install weui
安装完成后
在application文件夹下新增加了一个node_modules文件夹

重要的几个modules

npm使用

  • 全局切换镜像源:npm config set registry http://registry.npm.taobao.org
  • 查看镜像源使用状态:npm get registry
  • 全局切换官方镜像源:npm config set registry http://www.npmjs.org
  • 使用npm卸载插件:npm uninstall [-g] [–save-dev]
  • 使用npm更新插件:npm update [-g] [–save-dev]
  • 更新全部插件:npm update [–save-dev]
  • 查看当前目录已安装插件:npm list
  • 查看npm帮助:npm help

全局安装nrm(推荐)
nrm 是一个npm 源管理器,允许你快速地在如下 NPM 源间切换;用法与yrm一样

npm install -g nrm

全局安装cnpm(推荐)

安装yrm后可以随意切换镜像源,就不需要安装这个了

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

卸载全局cnpm

npm uninstall -g cnpm

yarn与npm相比 会缓存下载过的项目,能更好的就解决版本问题(他们属于竞争关系)

全局安装yarn(推荐)
缓存下载过的每个包,以便下次执行install时直接从缓存安装,安装好以后yarn --version查看版本

npm install -g yarn

yarn与npm的区别
npm下载的时候是同步下载的 npm不会有缓存 npm会将依赖的版本号进行锁定
yarn下载的时候是异步下载的 yarn会有缓存(离线模式) yarn会将依赖的版本号进行锁定
npm在安装过程中遇到错误会继续下载和安装包(日志与错误都混在一起,找出错位置很麻烦)

命令对比:

npm init  == yarn init

npm install                        ==  yarn install
npm install   -g <name>            ==  yarn global add <name>
npm install   <包名> -g            ==  yarn add <包名> -g
npm install   <包名> --save        ==  yarn add <包名>

npm install   <包名> --dev-save    ==  yarn add <包名> -dev
npm install   <包名> --save-dev    ==  yarn add <包名> --dev

npm update    <包名>               === yarn upgrade  <包名>
npm undate    <包名>               ==  yarn update   <包名>

npm uninstall <包名>               === yarn remove  <包名>
npm uninstall <包名>               ==  yarn remove <包名>
npm uninstall <包名> --save        ==  yarn remove  <包名>

npm -g bin                         ==  yarn global bin

yarn bin  全局安装目录
yarn cache ls 查看缓存
yarn clear 清除缓存
yarn install 安装所有包

全局安装yrm(推荐)
一个 yarn 镜像地址管理工具

npm install -g yrm

列出所有的镜像

yrm ls 

结果:

 npm -----  https://registry.npmjs.org/
 cnpm ----  http://r.cnpmjs.org/
 taobao --  https://registry.npm.taobao.org/
 nj ------  https://registry.nodejitsu.com/
 rednpm --  http://registry.mirror.cqupt.edu.cn
 skimdb --  https://skimdb.npmjs.com/registry
 yarn ----  https://registry.yarnpkg.com

测试哪家的下载速度块

yrm test

使用yrm切换源
yrm use 【镜像名称,例如: taobao】 选择一个镜像使用