npm命令--依赖包的管理(安装/卸载/发布等)--使用/
简介
说明
本文介绍npm的包相关的命令。
官网
安装包
卸载包
命令 |
作用 |
描述 |
npm uninstall <pkg> |
卸载包 |
同义词:remove, rm, r, un, unlink npm uninstall [<@scope>/]<pkg>[@<version>]... [-S|--save|-D|--save-dev|-O|--save-optional] 参数的含义与npm install一致。 |
npm uninstall <pkg1> <pkg2> | 卸载多个包 |
例如: npm uninstall eslint eslint-plugin-import |
更新包
命令 |
作用 |
描述 |
npm update <pkg> [-g] |
更新包 |
npm update用的比较少,不如直接npm install 来的方便 |
查看包
命令 |
作用 |
描述 |
npm root [pkg] [-g] |
查看包安装路径 |
|
npm search <pkg> [-g] |
搜索包 |
|
npm list [pkg] [-g] |
列出包。同义词:list, la, ll 选项: parseable=true //目录的形式来展现当前安装的所有node包 |
例1:列出顶层所有全局安装过的包 npm list -g --depth=0 |
npm info [<pkg>] [-g] |
查看包信息。 |
例:npm info express [author] //后边可直接跟package.json的键 |
npm view <pkg> [<labelName>] [-g] |
查看包的package.json。同义词:v 指定labelName可查看标签内容。 |
查看thrift所有版本: npm view thrift versions //或者npm view thrift@* version |
npm outdated [<pkg>] [-g] |
查看过时的包 |
发布包
命令 |
作用 |
描述 |
npm adduser |
获得用户名 |
要根据提示操作。可加--registry xxx 加快速度 |
npm whoami |
检测是否已取得账号 |
|
npm publish |
发布包 |
将包发布到npm。(稍后可在此网站看到自己的包) //不能发布npm中已经存在的包。 //npm publish --tag beta 可以添加tag。 //此时,可以用任意一台计算机npm install xxx 获得自己的包。 |
npm unpublish |
撤销发布 |
npm unpublish packageName/[<package>@<version>] --force //只有在发包的24小时内才允许撤销发布的包 //即使撤销了发布的包,发布时也不能再和被撤销的包的名称和版本重复了 |
关联包
命令
命令 | 作用 | 描述 |
npm link |
创建本地包与全局包链接 |
将全局的包链接到本地 全局模式安装的包不能直接通过 require 使用,但通过 npm link 命令可以打破这一限制。 示例:npm install -g express 安装 express,在express包目录下运行命令: npm link express ./node_modules/express -> /user/local/lib/node_modules/express 此时,在 node_modules 子目录中发现一个指向安装到全局的包的符号链接。 将本地的包链接到全局 使用方法:在包目录(package.json 所在目录)中运行 npm link 命令。如果我们要开发一个包,利用这种方法可以非常方便地在不同的工程间进行测试。 如果在outer 包目录(此包有package.json)下面有两个包package1 和package2,在package2 目录下执行 npm link命令,则会link outer 这个包 , 而不是package2:heavy_exclamation_mark: (它会link最外层包) 解决办法,先把最外层的package.json改为 package.json-xxx, 然后在内层包进行npm link, 然后再改回原来名字。如果link有改动,需要重新npm start.否则缓存的是原来的文件 (或者尝试先将 import 语句注释掉,然后再import来解决) |
npm unlink | 解除关联 |
解除项目与模块的依赖:在项目目录下执行npm unlink packageName 全局环境移除allenModule95模块链接:在该模块目录下执行npm unlink allenModule95即可 |
实例
自己开发一个依赖包,在多个项目中使用它,可直接发布到官网,但修改会非常麻烦,且不利于在多个项目中使用。可使用npm link解决。本处假设我们开发一个名为allenModule95的依赖包。
不使用npm link时
1.在该依赖包下运行npm init命令,并编写index.js文件。
-
module.exports = {
-
name: "allenModule95Name",
-
sayHello: function(){
-
console.log("hello allenModule95");
-
}
-
}
2. myProject目录下编写demo.js文件
-
var myModule = require("allenModule95");
-
-
console.log(myModule.name);
-
myModule.sayHello();
3. 运行node demo //报错,allenModule95模块找不到,因为此时的require搜寻目录没有包含此模块。
使用npm link
1. 切换到allenModule95目录下,执行npm link。作用:在全局环境下,生成一个符号链接文件,该文件的名字就是package.json文件中指定的模块名,同时我们对此模块的修改会实时反馈在全局目录下。
2. 切换到myProject目录下,执行npm link allenModule95。作用:将自定义的模块与此项目连接起来。
3. 执行:node demo //成功打印出如下内容
-
allenModule95
-
hello allenModule95
总结
- 如此,我们可以在任何目录下使用该模块,并且一处修改,处处改变,节省了同步依赖包的步骤。
- 如果想解除项目与模块的依赖则可以在项目目录下执行npm unlink allenModule95即可。
- 如果想要从全局环境移除allenModule95模块链接,则可以在该模块目录下执行npm unlink allenModule95即可。
其他网址
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhfiiigf
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
怎样阻止微信小程序自动打开
PHP中文网 06-13 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01