npm包與gem包 - 在線&離線安裝

來自專欄前端兒

NPM

NPM,即為Node的包管理工具,官網為 npmjs.com/,我們可以在站內搜索所需要的NPM包,瞭解相關的使用規則

安裝NPM包有兩種方式:線上與線下

線上

1. 連接官方源

下載npm管理工具後,默認是連接到官方的源,命令 npm config ls -l 或 npm config get registry 可查看相關的源

使用類似 npm install request 就可以安裝某個包,更多命令可使用 npm <cmd> -h 來查看,或者前往 文檔中心

2. 鏡像源

有時網路情況不佳,或者被牆了,可以使用一些包的鏡像,如 淘寶的NPM鏡像

臨時使用,直接在命令中加上,生命週期為當前命令窗口:

npm --registry https://registry.npm.taobao.org install express

永久使用,本地配置源,再安裝

npm config set registry https://registry.npm.taobao.org

線下

有時候,網路不給力,比如內網環境下,需要進行離線安裝NPM包

離線安裝的方法無非就是先行下載相應的包文件,再從本地包載入安裝

1. 直接去線上下載

在NPM網站上搜索到相關的包文件,但站點上似乎不提供直接的下載保存服務,可以前往它的github庫,再下載

2. 線上安裝後再從安裝目錄獲取相關文件

上述方法雖然可行,但有些包存在非常多的依賴,一個個下載依賴未免太過冗雜

可以在支持線上安裝的機子安裝好包之後,從安裝目錄中獲取文件,傳到內網機安裝

典型的例子是Babel解碼器的安裝,其依賴很多,假如已經在某個項目下安裝了Babel,就會有如下目錄

我們可以選擇相關的依賴文件,傳到內網機,放到下方第三點說的緩存文件夾目錄下,用參數 --cache-min 從緩存安裝

但要注意的是,現在是處於局部環境下(即當前目錄下),如果有很多個局部工程環境,那豈不是要傳很多次?況且這麼多文件夾你也搞不清依賴文件是哪幾個

3. 線上安裝後再從緩存中獲取相關文件

線上安裝,安裝至全局環境下,NPM會對下載好的包進行緩存,相對上一種方式,比較統一好管理

路徑為系統盤的 npm-cache 目錄下,將整個目錄複製到另一臺機子(如內網機)的 C盤Roaming 文件夾下

即可用命令強制從緩存安裝,注意要指定某個或多個包名,否則是不會安裝的

npm install babel es-checker --cache-min 999999999

更多可參考

zcfy.cc/article/offline

ruanyifeng.com/blog/201

還要注意的一點是,雖然離線安裝成功了,但你還不一定能正常使用命令行工具

比如離線安裝 es-checker 成功後,命令行輸入es-checker會提示不存在這樣的命令

解決方式是 再把線上安裝好後生成的cmd入口文件,也一併引入,放到當前局部工程環境下,或全局目錄npm文件夾下

GEM

gem即RubyGems,是Ruby的一個包管理工具,類似NPM

Ruby和JS本不應放在一起說,但由於CSS預處理 Sass 及其sprites精靈的一鍵合成 Compass插件 的安裝要依賴 Ruby 環境,自然就要提到這個GEM

GEM官網為 rubygems.org/,我們可以在站內搜索所需要的GEM包,瞭解相關的使用規則

同樣的,安裝GEM也有線上和線下之分

線上

1. 連接官方源

windows安裝Ruby之後,環境支持gem命令,可直接使用 gem install sass 直接安裝sass工具包

使用命令gem sources -l 可以查看當前的的源是官方的 rubygems.org/

同樣的可以使用 gem -h 查看幫助

有些時候安裝會提示SSL出現問題

英文還可以的童鞋可以看看 這篇文章,嘗試去解決,或者改一下源,使用國內的鏡像

2. 連接鏡像

可以使用淘寶的鏡像 再重新安裝

gem sources -a https://ruby.taobao.org/

如果還是出現SSL的問題,那就不要用https了,換成http

gem sources -a http://gems.ruby-china.org

同樣的可以使用 gem sources -l 查看當前源

線下

有時候還是需要進行離線安裝

1. 直接去官網下載

比如要離線安裝compass工具,先去官網搜索 rubygems.org/gems/compa

下載鏈接比較隱蔽,在右下角那裡,下載到本地之後再去當前目錄執行 gem install compass-1.0.3.gem

然而你會發現,安裝失敗,缺少了相關依賴文件,看上圖就知道了

所以直接下載的方式實為不妥,只方便於依賴不多的包文件

2. 從緩存中獲取

線上安裝gem包成功之後,相關的依賴包都會下載保存至 ruby安裝路徑的cache目錄 下

我們只要將這個cache目錄傳到另一臺機子,進入這個目錄,再用 -l 參數 執行從本地安裝即可

gem install -l compass-1.0.3.gem

推薦閱讀:

相關文章