npm是一个node包管理和分发工具,已经成为了非官方的发布node模块(包)的标准。有了npm,可以很快的找到特定服务要使用的包,进行下载、安装以及管理已经安装的包。npm 从5.2版开始,增加了 npx 命令。请访问:npx使用教程

1、npm install moduleNames:安装Node模块

安装完毕后会产生一个node_modules目录,其目录下就是安装的各个node模块。

node的安装分为全局模式和本地模式。
一般情况下会以本地模式运行(可以理解为当前项目运行),包会被安装到和你的应用程序代码的本地node_modules目录下,只能当前项目使用。
在全局模式下,Node包会被安装到当前电脑Node的安装目录下的node_modules下,在当前电脑任何目录都可以使用。

全局安装命令为 npm install -g moduleName 
获知使用 npm set global=true 来设定安装模式,不要尝试这个命令,(如果尝试了的话使用npm config ls来看一下global的设置以及文件,然后找到.npmrc这个文件的路径,删掉这个文件或者用vim编辑里面的global=true为false就行了。需要找.npmrc的。一个是全局配置,一个是用户配置。也就是userconfig对应的路径 一般是/Users/[你的用户]/.npmrc), npm get global 可以查看当前使用的安装模式。

示例:

npm install express 

默认会安装express的最新版本,不会修改package.json之后运行npm install命令时,不会自动安装express模块

npm install express@3.0.

也可以通过在后面加版本号的方式安装指定版本

npm view express versions

可以查看express所以可以安装的版本

npm install <name> -g 

将包安装到全局环境中

但是代码中,直接通过require()的方式是没有办法调用全局安装的包的。全局的安装是供命令行使用的,就好像全局安装了vmarket后,就可以在命令行中直接运行vm命令

npm install <name> --save

安装的同时,将信息写入package.json的dependencies属性下,项目路径中如果有package.json文件时,直接使用npm install方法就可以根据dependencies(依赖项)配置安装所有的依赖包,这样代码提交到github时,就不用提交node_modules这个文件夹了。

之后运行npm install –production或者注明NODE_ENV变量值为production时,会自动安装msbuild到node_modules目录中

npm install <name> --save-dev

会把模块安装到node_modules目录中,在package.json的devDependencies(开发依赖项)属性下添加这个模块,之后运行npm install命令时,会自动安装这个模块到node_modules目录中,之后运行npm install –production或者注明NODE_ENV变量值为production时,不会自动安装X到node_modules目录中

devDependencies 节点下的模块是我们在开发时需要用的,比如项目中使用的 gulp ,压缩css、js的模块。这些模块在我们的项目部署后是不需要的,所以我们可以使用 -save-dev 的形式安装。像 express 这些模块是项目运行必备的,应该安装在 dependencies 节点下,所以我们应该使用 -save 的形式安装。

2、 npm view moduleNames :查看node模块的package.json文件夹
注意事项:如果想要查看package.json文件夹下某个标签的内容,可以使用 npm view moduleName labelName

3、 npm list :查看当前目录下已安装的node包
注意事项:Node模块搜索是从代码执行的当前目录开始的,搜索结果取决于当前使用的目录中的node_modules下的内容。 npm list parseable=true 可以目录的形式来展现当前安装的所有node包

4、 npm help :查看帮助命令

5、 npm view moudleName dependencies :查看包的依赖关系

6、 npm view moduleName repository.url :查看包的源文件地址

7、 npm view moduleName engines :查看包所依赖的Node的版本

8、 npm help folders :查看npm使用的所有文件夹

9、 npm rebuild moduleName :用于更改包内容后进行重建

10、 npm outdated :检查包是否已经过时,此命令会列出所有已经过时的包,可以及时进行包的更新

11、 npm update moduleName :更新node模块

12、 npm uninstall moudleName :卸载node模块

13、一个npm包是包含了package.json的文件夹,package.json描述了这个文件夹的结构。访问npm的json文件夹的方法如下:
 npm help json  此命令会以默认的方式打开一个网页,如果更改了默认打开程序则可能不会以网页的形式打开。

14、 npm search packageName :发布一个npm包的时候,需要检验某个包名是否已存在

15、 npm init :会引导你创建一个package.json文件,包括名称、版本、作者这些信息等,

npm init -y 快速全部以默认的方式生成一个package.json ,-y是-yes的缩写

16、 npm root :查看当前包的安装路径
 npm root -g :查看全局的包的安装路径

17、 npm -v :查看npm安装的版本

18、 npm config ls  : 查看全局安装路径

npm 基础命令的更多相关文章

  1. 【原】npm 常用命令详解

    今年上半年在学习gulp的使用,对npm的掌握是必不可少的,经常到npm官网查询文档让我感到不爽,还不如整理了一些常用的命令到自己博客上,于是根据自己的理解简单翻译过来,终于有点输出,想学习npm这块 ...

  2. npm常用命令小结

    目录(更新于2016.09.23): 1.认识和使用NPM 2.npm包安装模式 3.npm包管理(package的安装.卸载.升级.查看.搜索.发布,其他等) npm install [-g] 本地 ...

  3. npm常用命令解析

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

  4. npm 常用命令详解[转]

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

  5. npm 常用命令详解

    本文以Windows平台上做测试,以gulp为示例做教程,出自作者白树,转载请声明出处! 目录 npm是什么 npm install 安装模块 npm uninstall 卸载模块 npm updat ...

  6. npm常用命令学习(npm install -D,semver版本规范, npm进行版本管理的最佳实践用法)

    什么是npm npm有两层含义.一层含义是Node的开放式模块登记和管理系统,网址为npmjs.org.另一层含义是Node默认的模块管理器,是一个命令行下的软件,用来安装和管理Node模块. npm ...

  7. npm 常用命令详解(转载)

    学习gulp的使用时,对npm的掌握是必不可少的,经常到npm官网查询文档让我感到不爽,还不如整理了一些常用的命令博客上,于是根据自己的理解简单翻译过来,终于有点输出,想学习npm这块的朋友不可错过这 ...

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

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

  9. Node.js npm基础安装配置&创建第一个VUE项目

    使用之前,我们先来明白这几个东西是用来干什么的. node.js: 一种javascript的运行环境,能够使得javascript脱离浏览器运行.Node.js的出现,使得前后端使用同一种语言,统一 ...

随机推荐

  1. vue路由--命名路由

    有时我们通过一个名称来标识一个路由显得更方便一些,特别是在链接一个路由,或者是执行一些跳转的时候.你可以在创建 Router 实例的时候,在 routes 配置中给某个路由设置名称. 我们直接在路由下 ...

  2. C语言程序转汇编代码

    最近在学着写bootloader,由于汇编太繁杂,希望可以使用C语言完成一部分,然后转成NASM汇编代码,经过摸索,最终找到了一个解决方案,记录于此,留作参考. 核心步骤 使用gcc编译得到.o文件 ...

  3. js+vue、纯js 按条件分页

    听说大牛都从博客开始的... 人狠话不多,翠花上酸菜代码: 有注解基本上都看的懂!但是自己还是要注意以下几点,免得以后再浪费时间. #.vue 中监听事件 v-on:change=“vueChange ...

  4. 下拉菜单的jquery组件封装

    首先晒出封装好的dropdown.js (function($){ 'use strict';//使用严格模式 //构造函数形式 function Dropdown(elem,options){ // ...

  5. 11种常用css样式之border学习

    边框border通常简写为"border:1px solid red;"但其实一个完整的border边框其实是由1.border-width/*边框宽度*/,2.border-st ...

  6. windows的启动、引导配置

    Win+S -> msconfig

  7. GMOJ5409.【GDOI2017模拟一试4.11】平行宇宙

    https://gmoj.net/senior/#main/show/5051 Solution 首先注意到每个点有且只有一条出边,也就是说这是一个环套树(森林). 那么我们可以贪心. 首先这个森林里 ...

  8. vim编辑超大文件

    进入大文件(12g,250w+ lines),vim,耐心等待 有两种方法编辑删除冗余字段 1.set number ,可以通过:+数字组合跳到指定行,输入命令   ":100,200d&q ...

  9. ftp下载目录文件 不需要ftp脚本

    ftp下载目录文件 不需要ftp脚本 wget ftp://192.168.1.37:21/checkpoints --ftp-user=ftpadmin --ftp-password=gaofeng ...

  10. 使用Arduino Nano驱动Lora模块

    使用Arduino Nano驱动Lora模块 为什么选用Lora 射频通信芯片有很多种,但是一般在同样功耗下,距离没有Lora远;同等范围下,没有Lora节能. Lora通信只适用于低速率,高延时的场 ...