是時候來把下面這些常用的 npm 指令給摸熟了.
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'(大概是這樣的意思吧? )
將套件於全域安裝. 全域安裝的套件通常只是為了執行檔而已.
$ 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'(大概是這樣的意思吧? )