在使用nodejs的npm包管理工具中碰到过许多个坑,在网上查了很久才解决,现在加以总结.

  两种安装方式(本地安装,全局安装)

  1.全局安装(npm install -g moduleName/npm install ----global moduleName)

    全局安装,顾名思义是代表安装到全局环境里面,可通过以下命令查看全局安装路径   

    npm root -g
    npm prefix -g

  

    请注意,两种路径中,不同的是node_modules目录

    通过以下命令可以设置全局安装路径(没有node_modules,设置好后npm intall -g 会自动在你设置的目录下生成一个node_modules目录,你需要全局安装的模块会下载到里面),windows默认的全局安装路径为 C:\Users\xxx\AppData\Roaming\npm

npm config set prefix "your node global path"

    全局安装后可以在cmd命令窗口直接运行该组件包支持的命令,如下图全局安装后目录结构(如果报错不是内部或外部命令...,直接将全局安装路径添加到path环境变量即可)

    2.本地安装 npm install modulesName

      本地安装,是指在你命令行当前所在路径下安装./node_modules,本地安装后可以直接通过require()的方式引入项目中node_modules目录下的模块

  

    引入模块:在js代码中引入模块时,node.js默认会在NODE_PATH和目前js所在项目下的node_modules文件夹下去寻找模块,因此,如果只是全局安装,不能直接通过require()的方式去引用模块,需要手动解决包路径的配置问题,可将环境变量的NODE_PATH设置为E:\Program Files\nodejs\node_global\node_modules (npm root -g 所得路径)

    本地安装和全局安装的优缺点:

      首先,本地安装,那你只能在当前项目中引用,每个项目使用时都需要在当前项目重新安装一遍,全局安装可以在任何地方引用(前提是NODE_PATH正确),安装一次就可多次使用,但是有个问题,模块也是有版本的,全局安装的时候一个模块如果在多个项目中被使用,当全局包被升级更新的时候,就可能会影响到你的多个项目,其中的依赖关系会被破坏,所以本地安装有利于不同项目之间的独立性.

Nodejs中npm install 命令的问题的更多相关文章

  1. nodejs中npm常用命令

    npm install <name>安装nodejs的依赖包 例如npm install express 就会默认安装express的最新版本,也可以通过在后面加版本号的方式安装指定版本, ...

  2. (转)nodejs中npm常用命令

    npm install <name>安装nodejs的依赖包 例如npm install express 就会默认安装express的最新版本,也可以通过在后面加版本号的方式安装指定版本, ...

  3. nodeJS中npm常见的命令

    常用的nodeJS中npm的命令:npm主要是node包管理和发布的工具.npm常用的命令:1:npm install <name> //(下载包) 下载后的包放在当前路径下面 npm i ...

  4. nodeJs中npm详解

    npm 是 Node.js 的模块依赖管理工具.作为开发者使用的工具,主要解决开发 node.js 时会遇到的问题.如同 RubyGems 对于 Ruby 开发者和 Maven 对于 Java 开发者 ...

  5. Node.js中npm常用命令大全

    npm是什么 NPM的全称是Node Package Manager,是随同NodeJS一起安装的包管理和分发工具,它很方便让JavaScript开发者下载.安装.上传以及管理已经安装的包. npm ...

  6. npm install命令详解

    -S,–save 安装包信息将加到dependencies(生产阶段的依赖) npm install --save 或 npm install -S -D, –save-dev 安装包信息将加到dev ...

  7. npm install命令对package-lock.json文件自动做了一些额外的更新

    今天我使用 npm 命令给项目安装file-saver,通过git却发现package-lock.json中除了file-saver组件之外的其他组件的记录也被改了 npm为何会自动做这些更改呢,又如 ...

  8. npm中npm install 始终出错解决办法

    npm中npm install 始终出错解决办法 错误信息: C:\Windows\System32>npm install -g gulp npm ERR! Windows_NT 6.1.76 ...

  9. 关于 npm install 命令

    使用 `npm install` 命令安装模块时 ,有以下几种形式: 安装模块到项目 node_modules 目录下,不会将模块依赖写入 dependencies 或 devDependencies ...

随机推荐

  1. 497. Random Point in Non-overlapping Rectangles

    1. 问题 给定一系列不重叠的矩形,在这些矩形中随机采样一个整数点. 2. 思路 (1)一个矩形的可采样点个数就相当于它的面积,可以先依次对每个矩形的面积累加存起来(相当于概率分布中的分布累积函数CD ...

  2. Mybatis 之 缓存结构

    Mybatis默认提供两种缓存方式,一级缓存是SqlSession 级别的缓存,二级缓存是Mapper 级别的缓存 SqlSession 级别的缓存,每个缓存是相对独立,互不影响:Mapper 级别 ...

  3. laravel 多图上传

    前台  name="photo[]" 后台获取  $request->file('photo');//获取多个图片循环

  4. mongoose 获取某个存在的collecion 里的数据

    在创建Schma 时指定对应的collection var db_url = 'mongodb://localhost:27017/test'; var db = mongoose.connect(d ...

  5. Win7系统(台式机)设置系统的窗口背景色(豆沙绿色)

    Win7系统(台式机)设置系统的窗口背景色(豆沙绿色) 1,桌面->右键->个性化->窗口颜色->高级外观设置->项目选择(窗口).颜色1(L)选择(其它)将色调改为:8 ...

  6. Matlab绘图基础——利用axes(坐标系图形对象)绘制重叠图像 及 一图多轴(一幅图绘制多个坐标轴)

    描述 axes在当前窗口中创建一个包含默认属性坐标系 axes('PropertyName',propertyvalue,...)创建坐标系时,同时指定它的一些属性,没有指定的使用DefaultAxe ...

  7. 操作数据库的时候,使用自带的DbProviderFactory类 (涉及抽象工厂和工厂方法)

    微软自带的DbProviderFactory https://msdn.microsoft.com/en-us/library/system.data.common.dbproviderfactory ...

  8. IDEA使用Git管理项目

    今天将项目使用Git管理了,IDEA. 第一步: 第二步:

  9. LA 3938 动态最大连续和(线段树)

    https://vjudge.net/problem/UVALive-3938 题意:给出一个长度为n的整数序列D,你的任务是对m个询问作出回答.对于询问(a,b),需要找到两个下标x和y,使得a≤x ...

  10. JS localStorage 存储变量

    if(!window.localStorage && /MSIE/.test(navigator.userAgent)){ if(!window.UserData) { window. ...