亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

bundle exec rake是什么意思?

bundle exec rake是什么意思?

慕村9548890 2019-08-14 17:39:29
bundle exec rake是什么意思?什么bundle exec rake db:migrate意思?或者只是bundle exec rake <command>一般?據我所知,bundle它負責維護Gemfile中的內容。我知道“exec”這個詞是什么意思。我明白,rake你可以保留所有不同的腳本,我知道這db:migrate就是其中之一。我只是不知道這些話在一起做什么。為什么要bundle用來rake執行數據庫遷移?
查看完整描述

3 回答

?
POPMUISE

TA貢獻1765條經驗 獲得超5個贊

bundle exec是一個Bundler命令,用于在當前包(您目錄的Gemfile中的一個)的上下文中執行腳本。rake db:migratedb是命名空間的腳本,migrate是定義的任務名稱。

因此,在當前包的上下文中bundle exec rake db:migrate使用命令執行rake腳本db:migrate。

至于“為什么?” 我將從捆綁頁面引用:

在某些情況下,bundle exec如果可執行文件恰好安裝在您的系統中并且沒有引入任何與您的軟件包沖突的gem,那么運行可執行文件可能無效。

然而,這是不可靠的,并且是相當痛苦的根源。即使看起來它有效,它可能在將來或在另一臺機器上不起作用。


查看完整回答
反對 回復 2019-08-14
?
慕森王

TA貢獻1777條經驗 獲得超3個贊

當你的gemfile.lock在你的機器上安裝了不同版本的gem時,會出現這種情況。運行rake(或rspec或其他)后,您可能會收到警告,例如:

You have already activated rake 10.3.1, but your Gemfile requires rake 10.1.0. Prepending "bundle exec" to your command may solve this.

bundle exec無論版本差異如何,Prepending都會告訴bundler執行此命令。但是,并不總是存在問題,您可能會遇到問題。

幸運的是,有一個寶石可以解決這個問題:rubygems-bundler。

$ gem install rubygems-bundler

$ $ gem regenerate_binstubs

然后嘗試你的耙子,rspec或其他任何東西。


查看完整回答
反對 回復 2019-08-14
  • 3 回答
  • 0 關注
  • 1663 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號