npm tips

# 查版本
npm --version

# 查看相關環境版本
npm version

{ npm: '5.5.1',
  ares: '1.10.1-DEV',
  cldr: '31.0.1',
  http_parser: '2.7.0',
  icu: '59.1',
  modules: '57',
  nghttp2: '1.25.0',
  node: '8.9.1',
  openssl: '1.0.2m',
  tz: '2017b',
  unicode: '9.0',
  uv: '1.15.0',
  v8: '6.1.534.47',
  zlib: '1.2.11' }

#起始一個project產生package.json
npm init 
#但是會問一些問題設定, 太麻煩了, 可直接使用 -y 略過問題
npm init --yes
npm init -y
#要改變 -y 產生的預設值 可用 npm config
#例如
$ npm set init.author.name "xxx"
$ npm set init.license "MIT"
# 會存在 .npmrc

# 安裝package, 預設情況下儲存版本會使用 ^version
npm install request --save
# ~version "Approximately equivalent to version" 
# ^version "Compatible with version"  (鎖住major version)
# 1.2.x 1.2.0, 1.2.1, etc., but not 1.3.0
# 關於版本的描述可參考
# https://docs.npmjs.com/misc/semver 有詳細的介紹

# 鎖住package和dependency版本
$ npm shrinkwrap
產生 npm-shrinkwrap.json

# 檢查各package目前版本與最新版本
$ npm outdated
# 再用 npm update 更新
# dev dependencies
$ npm install xxx --save-dev
# 安裝(dev)
npm install --production
# 也可以用
$ NODE_ENV=production npm install

# 設定檔
~/.npmrc

# 更新npm 注意nodejs版本也會影響到npm的執行
$ npm install npm@latest -g

# npm -g 會安裝到 /usr/local/lib/node_modules/ 以及/usr/local/bin symlink
# 根據 npm config get prefix
$ npm config get prefix
/usr/local
# npm host
# see https://github.com/npm/npm-registry-couchapp

# npm package name conflict event
# http://blog.npmjs.org/post/141577284765/kik-left-pad-and-npm

# npm v3 remove dup
npm dedupe

# npm 會認 .npmignore, 如果沒有則看 .gitignore

# 打包成proj-x.x.x.tar.gz 會解開到 package
$ npm pack
This entry was posted in nodejs. Bookmark the permalink.

Leave a Reply