Ruby bundle命令詳解

2021-06-09 00:27:51 字數 1397 閱讀 4871

bundle介紹:

rails 3中引入bundle來管理專案中所有gem依賴,該命令只能在乙個含有gemfile的目錄下執行,如rails 3專案的根目錄。

關於gemfile和gemfile.lock

所有ruby專案的信賴包都在gemfile中進行配置,不再像以往那樣,通過require來查詢。rails 3中如果需要require某個gem包,必須通過修改gemfile檔案來管理。

gemfile.lock則用來記錄本機目前所有依賴的ruby gems及其版本。所以強烈建議將該檔案放入版本控制器,從而保證大家基於同一環境下工作。

bundle命令詳解:

# 顯示所有的依賴包

$ bundle show

# 顯示指定gem包的安裝位置

$ bundle show [gemname]

# 檢查系統中缺少那些專案以來的gem包

# 注:如果系統中存在所有專案以來的包,則會輸出:the gemfile's dependencies are satisfied

$ bundle check

# 安裝專案依賴的所有gem包

# 注:此命令會嘗試更新系統中已存在的gem包

$ bundle install

# 安裝指定的gem包

$ bundle install [gemname]

# 更新系統中存在的專案依賴包,並同時更新專案gemfile.lock檔案

$ bundle update

# 更新系統中指定的gem包資訊,並同時更新專案gemfile.lock中指定的包資訊

$ bundle update [gemname]

# 向專案中新增新的gem包引用

$ gem [gemname], [ver]

# 你還可以指定包依賴關係

$ gem [gemname], :require => [dependence_gemname]

# 你甚至還可以指定gem包的git源

$ gem [gemname], :git => [git_source_url]

# 鎖定當前環境

# 可以使用bundle lock來鎖定當前環境,這樣便不能通過bundle update來更新依賴包的版本,保證了統一的環境

$ bundle lock

# 解除鎖定

$ bundle unlock

# 打包當裝環境

# bundle package會把當前所有信賴的包都放到 ./vendor/cache/ 目錄下,發布時可用來保證包版本的一致性。

$ bundle package

#rails.mastery

iptable 詳解 iptable命令詳解1

p protocal protocol 協議 j jump target i in inte ce name 入口 o out inte ce name 出口 f,fragment 分片 指定 p tcp時 source port port port 原埠 也作 sport destionation...

UNIX crontab命令詳解

crontab命令的功能是在一定的時間間隔排程一些命令的執行。在 etc目錄下有乙個crontab檔案,這裡存放有系統執行的一些排程程式。每個使用者可以建立自己的排程crontab。crontab命令有三種形式的命令列結構 crontab u user file crontab u user e l...

mount命令詳解

名稱 mount 使用許可權 系統管理者或 etc fstab中允許的使用者 使用方式 mount hv mount a ffnrsvw t vfstype mount fnrsvw o options device dir mount fnrsvw t vfstype o options devi...