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 -g2. 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.83. 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_modules5. 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 test7. 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 packages10. Uninstalling local packages-- npm uninstall -g <package>11. Creating Node.js moduleauthor: 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 package13. 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 --savevar 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