欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

詳解離線安裝npm包的幾種方法

 更新時(shí)間:2018年11月25日 10:19:24   作者:jingsam''s blog  
這篇文章主要介紹了詳解離線安裝npm包的幾種方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

這段時(shí)間的工作主題就是Linux

下的“離線部署”,包括mongo、mysql、postgresql、nodejs、nginx等軟件的離線部署。平常在服務(wù)器上借助apt-get就能輕松搞定的事情,在離線環(huán)境下就變得異常艱難。上一篇文章講了使用snap離線安裝軟件的方式,但對(duì)于npm包怎么離線部署,snap是無能為力的。本篇文章就來講一講離線安裝npm包的幾種方法。

接下來的部分,我將以離線安裝pm2為例來進(jìn)行說明。pm2是一個(gè)進(jìn)程守護(hù)程序,用于啟動(dòng)node集群和服務(wù)進(jìn)程出錯(cuò)時(shí)自動(dòng)重啟,在生產(chǎn)環(huán)境下部署nodejs應(yīng)用一般都會(huì)使用到。

使用 npm link

使用 npm link 的方式是最常用的方法,具體做法是在聯(lián)網(wǎng)機(jī)器上下載pm2的源碼并安裝好依賴,拷貝到離線服務(wù)器上,最后借助 npm link 將pm2鏈接到全局區(qū)域。

首先,將pm2的源代碼克隆下來:

$ git clone https://github.com/Unitech/pm2.git

然后進(jìn)入到pm2項(xiàng)目中,安裝好所有的依賴:

$ cd pm2
$ npm install

將安裝好依賴的pm2文件夾拷貝到目標(biāo)服務(wù)器上,進(jìn)入pm2目錄鏈接到全局區(qū)域:

$ cd pm2
$ npm link

這種方式最關(guān)鍵的是借助 npm link 完成鏈接,但 npm link 這條命令本意是設(shè)計(jì)給開發(fā)人員調(diào)試用的。但開發(fā)人員開發(fā)某個(gè)全局命令工具的時(shí)候,通過將命令從本地工程目錄鏈接到全局,這樣調(diào)試的時(shí)候,可以實(shí)時(shí)查看本地代碼在全局環(huán)境下的執(zhí)行情況。所以, npm link 的項(xiàng)目需要安裝所有的依賴,包括 dependencies 以及 devDependencies ,而我們?nèi)绻皇鞘褂枚皇情_發(fā)某個(gè)包的話,正常情況下不應(yīng)該安裝 devDependencies 。

總而言之,這種方式優(yōu)點(diǎn)是比較簡(jiǎn)單,缺點(diǎn)是安裝了不需要的 devDependencies ,對(duì)于有“潔癖”的人是難以忍受的。

使用 npm install <folder>

那有什么方法相比于上一種方法更干凈呢?答案是 npm install <folder> 直接從文件夾安裝。

同樣以pm2為例,首先我們需要準(zhǔn)備pm2包,可以在聯(lián)網(wǎng)的機(jī)器上執(zhí)行:

$ npm install pm2 --global-style

上面的 --global-style 很關(guān)鍵,表示將pm2安裝到node_modules中一個(gè)單獨(dú)的pm2文件夾中,這樣我們可以方便地將pm2及其所有相關(guān)依賴都拷貝出來。也可以使用 npm install pm2 -g 安裝到全局的node_modules,其文件布局是一樣。

然后,將pm2文件拷貝到目標(biāo)機(jī)器上,使用以下命令安裝:

$ npm install pm2/ -g

這種方式不需要安裝多余的 devDependencies ,并且不需要克隆pm2的源碼,比第一種方法更干凈環(huán)保。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Linux 安裝nodejs環(huán)境及路徑配置詳細(xì)步驟

    Linux 安裝nodejs環(huán)境及路徑配置詳細(xì)步驟

    大家都知道linux安裝nodejs有兩種比較常用的方法,一種解壓即可用的方法操作比較簡(jiǎn)便,另一種方法通過編譯來安裝,本文重點(diǎn)給大家講解第一種方法,感興趣的朋友跟隨小編一起看看吧
    2021-11-11
  • Node.js中DNS模塊學(xué)習(xí)總結(jié)

    Node.js中DNS模塊學(xué)習(xí)總結(jié)

    本篇文章給大家詳細(xì)介紹了Node.js中DNS模塊的相關(guān)知識(shí)點(diǎn),以及相關(guān)的實(shí)例代碼做了分享,有興趣的朋友參考下。
    2018-02-02
  • node.js中的fs.chmodSync方法使用說明

    node.js中的fs.chmodSync方法使用說明

    這篇文章主要介紹了node.js中的fs.chmodSync方法使用說明,本文介紹了fs.chmodSync方法說明、語法、接收參數(shù)、使用實(shí)例和實(shí)現(xiàn)源碼,需要的朋友可以參考下
    2014-12-12
  • Node.js中的process.nextTick使用實(shí)例

    Node.js中的process.nextTick使用實(shí)例

    這篇文章主要介紹了Node.js中的process.nextTick使用實(shí)例,nextTick函數(shù)有什么用、怎么用、和setTimeout有什么區(qū)別呢,本文就講解了這些知識(shí),需要的朋友可以參考下
    2015-06-06
  • 詳解webpack打包nodejs項(xiàng)目(前端代碼)

    詳解webpack打包nodejs項(xiàng)目(前端代碼)

    這篇文章主要介紹了webpack打包nodejs項(xiàng)目(前端代碼),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-09-09
  • Node?Js開發(fā)環(huán)境的搭建全過程記錄

    Node?Js開發(fā)環(huán)境的搭建全過程記錄

    這篇文章詳細(xì)介紹了腳手架工具在軟件開發(fā)中的作用,包括常見的腳手架工具、腳手架的基本能力、搭建腳手架的方法、commander命令參數(shù)處理工具的使用、模塊化拆分、下載遠(yuǎn)程倉庫代碼等,需要的朋友可以參考下
    2024-11-11
  • 使用Node.js給圖片加水印的方法

    使用Node.js給圖片加水印的方法

    使用Node.js給圖片加水印,首先要確保本地安裝了node環(huán)境。然后,我們進(jìn)行圖像編輯操作需要用到一個(gè)Node.js的庫:images。具體詳情大家可以通過本文了解下
    2016-11-11
  • nodejs實(shí)現(xiàn)登陸驗(yàn)證功能

    nodejs實(shí)現(xiàn)登陸驗(yàn)證功能

    這篇文章主要為大家詳細(xì)介紹了nodejs實(shí)現(xiàn)登陸驗(yàn)證功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • node.js中g(shù)runt和gulp的區(qū)別詳解

    node.js中g(shù)runt和gulp的區(qū)別詳解

    這篇文章主要介紹了node.js中g(shù)runt和gulp的區(qū)別詳解的相關(guān)資料,需要的朋友可以參考下
    2017-07-07
  • nodejs使用readline逐行讀取和寫入文件的實(shí)現(xiàn)

    nodejs使用readline逐行讀取和寫入文件的實(shí)現(xiàn)

    這篇文章給大家介紹了nodejs使用readline逐行讀取和寫入文件的實(shí)現(xiàn)方法,文中通過代碼示例給大家講解的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-01-01

最新評(píng)論