npm包管理器应用

node.js
2022-07-16 14:54:53
分享

npm简介

nodejs包管理器[npm],是nodejs官方提供的包管理工具,非常强大。
从0.6版本开始,已然集成到nodejs安装包中发布。

npm包管理器是基于命令行操作的工具,我们可以方便的下载、安装、升级、卸载包。

安装包命令

npm [install/i] [package_name]

[提示:npm安装包时候,会自动解析其依赖包,并下载安装]
[注意:本地安装会在当前目录中创建node_modules文件夹]

卸载包命令

npm [uninstall/un] [package_name]

[提示:如果包不存在会提示你没有安装]
[注意:卸载后,要重新下载安装,但如果你机器缓存有安装包,就直接读取缓存。]

本地模式与全局模式

本地模式(避免包冲突、避免兼容性问题、同一个包可能会被安装许多次):
npm install 命令就是采用本地模式

全局模式(提高程序的重复利用、难以处理不同的版本依赖):

npm [install/i] -g [package_name]

[注意:全局模式可以在命令行直接运行,因为在环境变量PATH中]

模 式      可通过 require 使用  注册PATH
本地模式          是                   否
全局模式          否                   是

初始化package.json

npm init

[注意:此命令是在包中新执行引导生成package.json]

发布包

发布前,你需要使用npm adduser命令来创建用户。
测试用户是否注册成功:npm whoami命令
完成后,在你要发布包的目录里执行命令npm publish,完成发布。

[注意:发布包必须包含package.json描述文件 ]

访问:http://search.npmjs.org/ 可以看到你发布的包。

取消发布

当前包文件夹中执行命令

npm unpublish


The End
免责声明:本文系转载,版权归原作者所有;旨在传递信息,不代表本站观点和立场。
最新文章
    FreeMarker template error (HTML_DEBUG mode; use RETHROW in production!)
    
    The following has evaluated to null or missing:
    ==> mrcms_4ee690f269c3406f853f0388d74c02b6  [in template "article.html" at line 254, column 64]
    
    ----
    Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
    ----
    
    ----
    FTL stack trace ("~" means nesting-related):
    	- Failed at: #list mrcms_4ee690f269c3406f853f0388d...  [in template "article.html" at line 254, column 57]
    ----
    
    Java stack trace (for programmers):
    ----
    freemarker.core.InvalidReferenceException: [... Exception message was already printed; see it above ...]
    	at freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:134)
    	at freemarker.core.Expression.assertNonNull(Expression.java:233)
    	at freemarker.core.IteratorBlock.acceptWithResult(IteratorBlock.java:103)
    	at freemarker.core.IteratorBlock.accept(IteratorBlock.java:93)
    	at freemarker.core.Environment.visit(Environment.java:330)
    	at freemarker.core.Environment.visit(Environment.java:336)
    	at freemarker.core.Environment.process(Environment.java:309)
    	at freemarker.template.Template.process(Template.java:384)
    	at org.marker.mushroom.template.SendDataToView.process(SendDataToView.java:144)
    	at org.marker.mushroom.core.WebAPP.start(WebAPP.java:187)
    	at org.marker.mushroom.servlet.DispatcherServlet.progress(DispatcherServlet.java:48)
    	at org.marker.mushroom.servlet.DispatcherServlet.doGet(DispatcherServlet.java:75)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:489)
    	at javax.servlet.http.HttpServlet.service(HttpServlet.java:583)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:212)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156)
    	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:181)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156)
    	at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:662)
    	at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:428)
    	at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:360)
    	at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:297)
    	at org.marker.mushroom.filter.SystemCoreFilter.doFilter(SystemCoreFilter.java:222)
    	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:181)
    	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:156)
    	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:168)
    	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:90)
    	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:483)
    	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:130)
    	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:93)
    	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:679)
    	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
    	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:346)
    	at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:617)
    	at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
    	at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:934)
    	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1690)
    	at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
    	at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
    	at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
    	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
    	at java.base/java.lang.Thread.run(Thread.java:840)