Node.js学习--基础知识(5)--npm

一、如何使用包管理器

Node.js包管理器,即npm是Node.js官方提供的包管理工具,它已经成为了Node.js包的标准发布平台,用于Node.js包的发布、传播、依赖控制。

(1)获取一个包

npm [install/i] [package_name] 

例如安装express包:

npm i express  #安装express包

卸载包:

npm uninstall 包名 [-g]

查看当前所有的包:

npm list

...

(2)本地模式和全局模式

npm在默认情况下会从http://npmjs.org搜索或下载包,将包安装到当前目录下的node_modules

a.默认是npm  install  包名  #作为本地模式

b.全局模式

npm install -g 包名

c.区别和用法

因为本地模式不会注册PATH环境变量,举例,我们安装supervisor是为了在命令行中运行它,例如直接运行supervisor srcipt.js

npm本地模式仅仅把包安装到了node_modules子目录下,其中的bin目录没有包含在PATH环境变量中,不能直接在命令行中调用。

使用全局模式安装的包并不能直接在javascript文件中require获得,因为require不会搜索/usr/local/lib/node_modules。

通俗讲,当我们要把某个包作为工程运行时的一部分时,通过本地模式获取,如果在命令行下使用,则使用全局模式。

d.包的发布

首先确保具备CommonJS为基础包的规范,但与CommonJS并不完全一致,其主要差别在于必填字段的不同,通过使用rpm init可以根据交互式问答产生一个符合标准的package.json

dos进入这个目录运行rpm init得到package.json的文件,改成自己的文件等信息

然后进入package.json所在目录运行rpm publish就完成了发布

如何更新包?

如果你的包内容有改动,则在版本上作改动,运行npm publish

如何取消发布?

npm unpublish

二、调试代码

Eclipse中有相关插件。


cd testpackage

npm init  //用于创建一个标准的JSON文件

npm install testpackage  //安装一个包


# 安装指定名字的包 会下载到当前目录下 node_modules/<projectname>
npm install <packagename>

npm install <packagename>@<version>     # 按版本号安装
npm install <packagename>@<tagname>     # 按发布tag
npm install <packagename>@">=<version>" # 按版本范围
npm install git://<gitdomain>           # 按git路径

# 将安装包保存到全局目录(/usr/local/lib/node_modules)下
npm install <packagename> -g

# 生成package.json文件 由按提示的输入的数据生成
npm init

pakcage.json
{
    "name"         : "test_package",
    "version"      : "0.0.1",
    "description"  : "test",
    "main"         : "index.js",
    "scripts"      : {
        "test" : "node test.js"
    },
    "repository"   : "",
    "author"       : "",
    "license"      : "BSD",
    "dependencies" : {
        "express"  : ">= 2.5.6",
        "mustache" : "0.4.0",
        "commander": "*"
    }
}

# 会按目录package.json文件中 dependencies在本地下载相关包
npm install 

# 更新指定的包
npm <packagename>

# 查看所有的已安装的包
npm list

├── commander@1.0.1
├─┬ express@3.0.0rc3
│ ├── commander@0.6.1
│ ├─┬ connect@2.4.3
│ │ ├── bytes@0.1.0
│ │ ├── formidable@1.0.11
│ │ ├── pause@0.0.1
│ │ └── qs@0.4.2
│ ├── cookie@0.0.4
│ ├── crc@0.2.0
│ ├── debug@0.7.0
│ ├── fresh@0.1.0
│ ├── methods@0.0.1
│ ├── mkdirp@0.3.3
│ ├── range-parser@0.0.4
│ └─┬ send@0.0.3
│   └── mime@1.2.6
└── mustache@0.4.0

# 查看当前包是否有新版本
npm outdated

# 移除不再依赖的包
npm prune

# link包目录(别的目录下link过来,win下木有用)
npm link <path>/<packagename>

# 和编译本地c++文件有关
npm rebuild

# 运行脚本(package.json scripts中定义)
npm run-script test

# 打包生成<packagename>-<version>.tgz 文件
npm pack

# 查找包 npmjs.com中
npm search <search term>

# 到指定包的主页上去
npm home <packagename>

# 和npmjs.com有关的命令
# 注册一个用户
npm adduser

# 将包发布到npmjs上
npm publish
npm unpublish <package>[@<version>]
npm deprecate <packagename>[@<version>] <message>
npm tag <name>@<version> [tag]


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值