NPM - 命令汇总

官方文档

npm command not found

# 重新安装npm
curl -L http://npmjs.org/install.sh | sudo sh

npm install name@version

各取所需版本

npm配置文件路径查询

npmrc官方说明: Lines in .npmrc files are interpreted as comments when they begin with a ; or # character. .npmrc files are parsed by npm/ini, which specifies this comment syntax.
npmrc文件使用;#做注释,npm官方解析npmrc文件使用ini库 - 链接
可以通过命令行输入npm,返回信息中获得路径

$ npm
返回信息:
Specify configs in the ini-formatted file:
    /Users/Name/.npmrc

以上为用户配置文件,npm配置文件存在多个路径。参考官网npmrc

  • 项目配置文件
# 文件路径
/path/to/my/project/.npmrc
  • 用户配置文件
//查看文件路径
$ npm config get userconfig

//mac系统默认路径
$HOME/.npmrc
  • 全局配置文件
//查看文件路径
$ npm config get globalconfig

//mac系统默认路径
/usr/local/etc/npmrc
  • 内置配置文件
# 安装npm的目录下的npmrc文件
which npm

--save-dev 和 --save区别

  • devDependencies只用于开发阶段完成集成测试等功能模块依赖;
  • 对于生产环境只需要使用npm install –production依赖必须的模块即可 参考链接: dependencies与devDependencies之间的区别

-E, --save-exact 精确安装指定模块版本

npm install gulp --save-exact 或 npm install gulp -E

输入命令npm install gulp -ES,留意package.json 文件的 dependencies 字段,以看出版本号中的^消失了

"dependencies": {
    "gulp": "3.9.1"
}

npm如何获取全局安装的默认目录

npm config get prefix

npm如何设置全局安装的默认目录

npm config set prefix “directory”

npm获取缓存目录

npm config get cache

npm publish scoped

npm支持scoped发包,即带有标记@yourname/package的发布形式,如何发布scopd package:

  • 本地init:

    npm init --scope=<org_scope>
  • publish

    By default all scoped packages are published privately. To publish a scoped package publicly, pass the access flag with the value public:
    默认发布为私有,需要公开添加 --access public

    npm publish
    npm publish --access public //将scoped公开
    npm publish --access restricted //默认不公开
  • 官方scoped是需要注册收费,私有仓库可实现此功能

  • 下载使用

    npm install @myorg/mypackage
    require('@myorg/mypackage')
  • 默认配置带有@标记<少用>:Associating a scope with a registry

    npm config set @myco:registry http://reg.example.com

npm显示所有配置

npm config list -l

npm连接 & 取消

# add package global
$ cd project
$ npm link

# remove package golbal
$ npm remove

收集整理

@2017-05-11 10:52