深入浅出Node.js (附录D) - 搭建局域NPM仓库
D.1 NPM仓库的安装
D.1.1 安装Erlang和CouchDB
D.1.2 搭建NPM仓库
D.2 高阶应用
D.2.1 镜像仓库
D.2.2 私有模块应用
D.2.3 纯私有仓库
D.3 总结
D.4 参考资源
1. what is npm
-- To upgrade: run: [sudo] npm install npm@latest -g
2. Installing Node.js and updating npm
-- node -v to test. The version should be higher than v0.10.32
-- sudo npm install npm -g
-- npm -v to test. The version should be higher than 2.1.8
3. Fixing npm permissions
-- find the path to npm's directory: npm config get prefix
-- change owner: sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share}
4. Installing npm packages locally
-- npm install <package_name>
-- ls node_modules
5. Using a package.json
-- To create package.json, run: npm init --yes
-- npm set init.author.email "wombat@npm.com"
6. Updating local packages
-- npm update in the same directory as your package.json file
-- npm outdated to test
7. Uninstalling local packages
-- npm uninstall <package>
-- npm uninstall --save <package>
8. Installing npm packages locally
-- npm install -g <package_name>
-- sudo npm install -g <package>
9. Updating local packages
-- npm install -g <package>
-- npm outdated -g --depth=0 to find out which packages need to be updated
-- npm update -g to update all global packages
10. Uninstalling local packages
-- npm uninstall -g <package>
11. Creating Node.js module
author: Your Name <email@example.com> (http://example.com)
--Publish your package to npm
--Make a new directory outside of your project and cd into it
--Run npm install <package>
--Create a test.js file which requires the package and calls the method
--Run node test.js. The message should be output.
12. Publishing npm packages
--npm adduser/npm login to store the credentials on the client
--npm config ls
--npm publish. to check: https://npmjs.com/package/<package>
--npm version patch and npm publish to update package
13. Semantic versioning and npm
14. Working with scoped packages
-- @scope/project-name package's name begin with @, then it is a scoped package.
-- @username/project-name
--sudo npm install -g npm
--npm login
--npm init --scope=username package.json: {"name": "@username/project-name"}
--.npmrc npm config set scope username
--npm publish --access=public
--npm install @username/project-name --save
var projectName = require('@username/project-name')
15. Using dist-tags
--Tags are a supplement to semver for organizing and labeling different versions of packages.
--npm dist-tag add <pkg>@<version> [<tag>]
--npm publish --tag beta
--npm install somepkg@beta
深入浅出Node.js (附录D) - 搭建局域NPM仓库的更多相关文章
- 深入浅出Node.js (附录B) - 调试Node
B.1 Debugger B.2 Node Inspector B.2.1 安装Node Inspector B.2.2 错误堆栈
- 深入浅出Node.js (附录A) - 安装Node
A.1 Windows系统下的Node安装 A.2 Mac系统下Node的安装 A.3 Linux系统下Node的安装 A.4 总结 A.5 参考资源
- 深入浅出Node.js (附录C) - Node编码规范
C.1 根源 C.2 编码规范 C.2.1 空格与格式 C.2.2 命名规范 C.2.3 比较操作 C.2.4 字面量 C.2.5 作用域 C.2.6 数组与对象 C.2.7 异步 C.2.8 类与模 ...
- 《深入浅出node.js(朴灵)》【PDF】下载
<深入浅出node.js(朴灵)>[PDF]下载链接: https://u253469.pipipan.com/fs/253469-230062563 内容简介 <深入浅出Node. ...
- 深入浅出Node.js(上)
(一):什么是Node.js Node.js从2009年诞生至今,已经发展了两年有余,其成长的速度有目共睹.从在github的访问量超过Rails,到去年底Node.jsS创始人Ryan Dalh加盟 ...
- 深入浅出Node.js(一):什么是Node.js
Node.js从2009年诞生至今,已经发展了两年有余,其成长的速度有目共睹.从在github的访问量超过Rails,到去年底Node.jsS创始人Ryan Dalh加盟Joyent获得企业资助,再到 ...
- 深入浅出Node.js(一):什么是Node.js(转贴)
以下内容转自:http://www.infoq.com/cn/articles/what-is-nodejs/ 作者:崔康 [编者按]:Node.js从2009年诞生至今,已经发展了两年有余,其成长的 ...
- 一个月时间整理《深入浅出Node.js》
今天终于把朴灵老师写的<深入浅出Node.js>给学习完了, 这本书不是一本简单的Node入门书籍,它没有停留在Node介绍或者框架.库的使用层面上,而是从不同的视角来揭示Node自己内在 ...
- 深入浅出node.js游戏服务器开发1——基础架构与框架介绍
2013年04月19日 14:09:37 MJiao 阅读数:4614 深入浅出node.js游戏服务器开发1——基础架构与框架介绍 游戏服务器概述 没开发过游戏的人会觉得游戏服务器是很神秘的 ...
随机推荐
- spring+hibernate+jpa+Druid的配置文件,spring整合Druid
spring+hibernate+jpa+Druid的配置文件 spring+hibernate+jpa+Druid的完整配置 spring+hibernate+jpa+Druid的数据源配置 spr ...
- Java SE (1)之 JFrame 组件 GridLayout布局
package com.sunzhiyan; import java.awt.*; import javax.swing.*; public class Demo_2 extends JFrame{ ...
- 转之农民伯伯 IHttpHandler中使用Session实现原理[ASP.NET | IHttpHandler |IRequiresSessionState]
前言 在实现自己的Handler的时候只需要继承IHttpHandler接口就行了,在Handler中使用Session时,只需要继承一下IRequiresSessionState就行了,到底为什么只 ...
- Microsoft Visual Studio 2010 遇到了异常,可能是由某个扩展导致的。 转载
问题: 今天打开好久没用的Microsoft Visual Studio 2010 ,刚才创建了一个C++工程,错误就出现了. 只要在VS2010源码编辑器中输入一个字符,它就报错 ":Mi ...
- Windows phone 之独立存储
独立存储命名空间的说明:
- HTML5储存
1.sessionStorage 特点:关闭浏览器(或标签页)后数据就不存在了.但刷新页面或使用“前进”.“后退按钮”后sessionStorage仍然存在: sessionStorage每个窗口的值 ...
- 微信菜单开发:使用PHP数组来定义微信菜单
目前使用数组的方式来定义,然后在通过json_encode函数来转JSON $menuJson=array(); $menuJson['button'][]=array('name'=>urle ...
- php 常用
零:重要的PHP超级全局变量 1.$_SERVER $_SERVER超级全局变量包含由web服务器创建的信息,它提供了服务器和客户配置及当前请求环境的有关信息.根据服务器不同,$_SERVER中的变量 ...
- Delphi 停靠技术的应用
一.基础知识介绍 1.VCL组件的基础知识 在TWinControl类中有一个DockSite属性(boolean),它的作用是是否允许别的控件停靠在它的上面:在TControl类中有一个DragKi ...
- PinchEvent QML Type
PinchEvent类型在QtQuick 1.1中被添加进来.center, startCenter, previousCenter属性保存了两个触摸点之间的中心位置.scale and previo ...