Pages

Thursday, 1 December 2016

npm的基本指令

是時候來把下面這些常用的 npm 指令給摸熟了.
將套件於全域安裝. 全域安裝的套件通常只是為了執行檔而已.
$ npm install <package name> -g
# 範例
$ npm install express -g
# 安裝完後現在我們可以用 <code>express</code> 來產生專案
$ express new app
將套件安裝在專案裡. 套件在每一個不同的專案裡都要重裝一次不然會 require 不到.
$ cd /path/to/the/project
$ npm install <package name>
# 範例
$ npm install express
# 現在就可以在專案裡用 `var express = require( 'express' );` 來使用 express 這個套件了.
移除全域套件.
$ npm uninstall <package name> -g
# 範例
$ npm uninstall express -g
移除專案裡的套件.
$ cd /path/to/the/project
$ npm uninstall <package name>
# 範例
$ npm uninstall express
搜尋套件.
$ npm search <package name>
# 範例
$ npm search express
列出全域套件.
$ npm ls -g
列出全域套件詳細資訊.
$ npm ls -gl
列出專案裡的套件.
$ cd /path/to/the/project
$ npm ls
列出專案裡的套件詳細資訊.
$ cd /path/to/the/project
$ npm ls -l
更新全域套件.
$ npm update -g
更新案裡的套件.
$ cd /path/to/the/project
$ npm update

用 `package.json` 來管理專案裡的套件

只要將 package.json 這個檔案放在專案的根目錄裡, 就不需要一個個的手動安裝套件.
原本應該是要
$ cd /path/to/the/project
$ npm install mongoose
$ npm install express
$ npm install jade
有了 package.json 在專案的根目錄就只要
$ cd /path/to/the/project
$ touch package.json
package.json
{
    "name": "your app name"
  , "version": "0.0.1"
  , "private": true
  , "dependencies": {
      "express": ">=2.5.0"
    , "jade": ">= 0.16.4"
    , "mongoose": ">=2.3.10"
  }
}
然後在 terminal 裡輸入下面的指令就全部安裝完成了.
$ npm install -l
更完整的說明文件請見這裡.

from http://dreamerslab.com/blog/tw/npm-basic-commands/
----------------

/usr/bin/env: node: No such file or directory的解决

查了一下在stackoverflow有這樣的建議。(stackoverflow網站上真的有好多高手來回覆關於代碼編程以及數位硬體等問題哦)據說有這樣的情況是因為Ubuntu 已默認內建了NodeJS,而在執行某個node應用套件時,要下的指令是: 'nodejs somethign.js' 來取代 'node something.js'

所以要在命令列打入這行指令
ln -s /usr/bin/nodejs /usr/bin/node (ln指令在ubuntu底下的作用是「建立一個同步連結」,請參考:Ubuntu正體中文wiki說明。如果傳回授權遭拒的訊息,則在前面加上sudo--以暫時取得root 最高權限來執行這條命令)

這樣可以把原本'node something.js'自動轉換為 'nodejs somethign.js'(大概是這樣的意思吧? )