跳转到内容

npm

维基百科,自由的百科全书

这是本页的一个历史版本,由Yangfl留言 | 贡献2014年6月14日 (六) 03:29 (Cat-a-lot:分类间移动:从Category:JavaScript程式語言Category:JavaScript编辑。这可能和当前版本存在着巨大的差异。

Node包管理器
開發者Isaac Z. Schlueter
当前版本1.1.48(2012年8月7日,​12年前​(2012-08-07
源代码库 編輯維基數據鏈接
编程语言Node.js
平台Linux Windows OSX
许可协议MIT License
网站npmjs.org

Node包管理器(Node Package Manager)。它是一個Node.js包管理器,運行在命令行下,用於管理應用的依賴。

按照作者的定義,npm不是「Node Package Manager」的縮寫,[1]而是「npm is not an acronym」的遞迴縮寫重表。

若將「npm is not an acronym」寫成 "ninaa" ,那麼正好變成「npm is not an acronym」的仿單字縮寫,反倒與其字面所述相反,從而將是錯誤的命名。

「仿單字縮寫」意指該句縮寫後本身必須為可唸的單字形態,這是 acronym 與 abbreviation 主要的不同,abbreviation 並不需要是可唸的字,並且可以是以任意規則將文字縮短後的字,例如 abbreviation 本身可縮短為 "abbr",並沒有硬性規定只能使用第一個字母。

所謂「縮寫重表」是指該字本身已經存在,而重新表述為與原先不同的意義,例如 AMBER Alert 為美國與加拿大,當國內確認發生兒童綁架案時,透過各種媒體向社會大眾傳播的一種警戒告知,AMBER 源於 Amber Hagerman 之名而重新表述為 "America's Missing: Broadcast Emergency Response"。

因此,若將「npm is not an acronym」縮寫為前三個字母 npm,重新表述則是將此 npm 再表述為「npm is not an acronym」並縮寫成 npm,如此無限遞迴仍然是 npm。

若以首字母方式縮寫而假設 npm 為「 n.. p.. m.. 」並將「npm is not an acronym」視為 n 的展開,根據 backronym 的意義,重新表述後再縮寫仍然為原字,即使 p 和 m 未知,結果並沒有不同;但根據奧卡姆剃刀原理,這顯然不是正確的解讀方式。

Node.js0.6版本開始,npm被自動附帶在安裝包中。

例子

安裝 LESS:

$ npm install less

參閱

外部鏈接

引用

  1. ^ npm FAQ, npm是「npm is not an acronym」的遞迴縮寫重表