2010-07-25 42 views
104

我當然不是Ruby開發者,但我的服務器上有一個應用程序,使用Ruby,Gems和Bundler。我正嘗試在另一個用戶帳戶下安裝另一個Ruby,但在同一個VPS上。當我去跑找不到Gemfile

bundle install 

我得到以下錯誤:

Could not locate Gemfile

我可以刪除./bundle目錄的內容,使所有寶石被重新取出,清除錯誤,但會這對我的其他應用程序使用相同的Gems和Bundler有影響嗎?我不想冒另一個應用失敗的風險。

回答

134

您不必Gemfile在運行該命令的目錄。 Gemfile是包含您gem設置一個當前程序的文件。

+2

感謝。這很簡單。我剛剛遇到問題,因爲我必須以管理員用戶身份登錄才能運行該命令,但是gemfile位於不同用戶下的目錄中。我設法讓它排序。謝謝! – Ian 2010-09-27 12:27:15

+1

是的,你是對的,如果你使用這個命令來安裝redmine,你應該'cd [redmine-directory]'然後執行那個命令。 – 2014-11-22 02:15:39

68

確保您在項目目錄中運行bundle install之前。例如,在運行rails new myproject之後,您需要cd myproject才能運行bundle install

+0

是的,這確實是個問題,我最終設法解決了這個問題。謝謝你的幫助。 – Ian 2010-09-27 12:26:49

5

我有同樣的問題,得到它通過使用不同的目錄來解決。

 
bash-4.2$ bundle install 
Could not locate Gemfile 
bash-4.2$ pwd 
/home/amit/redmine/redmine-2.2.2-0/apps/redmine 
bash-4.2$ cd htdocs/ 
bash-4.2$ ls 
app config db extra Gemfile lib plugins Rakefile  script tmp 
bin config.ru doc files Gemfile.lock log public README.rdoc test vendor 
bash-4.2$ cd plugins/ 
bash-4.2$ bundle install 
Using rake (0.9.2.2) 
Using i18n (0.6.0) 
Using multi_json (1.3.6) 
Using activesupport (3.2.11) 
Using builder (3.0.0) 
Using activemodel (3.2.11) 
Using erubis (2.7.0) 
Using journey (1.0.4) 
Using rack (1.4.1) 
Using rack-cache (1.2) 
Using rack-test (0.6.1) 
Using hike (1.2.1) 
Using tilt (1.3.3) 
Using sprockets (2.2.1) 
Using actionpack (3.2.11) 
Using mime-types (1.19) 
Using polyglot (0.3.3) 
Using treetop (1.4.10) 
Using mail (2.4.4) 
Using actionmailer (3.2.11) 
Using arel (3.0.2) 
Using tzinfo (0.3.33) 
Using activerecord (3.2.11) 
Using activeresource (3.2.11) 
Using coderay (1.0.6) 
Using rack-ssl (1.3.2) 
Using json (1.7.5) 
Using rdoc (3.12) 
Using thor (0.15.4) 
Using railties (3.2.11) 
Using jquery-rails (2.0.3) 
Using mysql2 (0.3.11) 
Using net-ldap (0.3.1) 
Using ruby-openid (2.1.8) 
Using rack-openid (1.3.1) 
Using bundler (1.2.3) 
Using rails (3.2.11) 
Using rmagick (2.13.1) 
Your bundle i 
3

我解決了類似的問題,只是打了退堂鼓的項目目錄,然後CD放回項目目錄和捆綁安裝。

+0

奇怪,但這也是我工作的:p – nanosoft 2016-10-03 09:57:36

-1

很簡單。當它說'找不到Gemfile'時,它意味着在你當前所在的文件夾或你所在的目錄中,沒有一個名爲GemFile的文件。因此,在您的命令提示符中給出顯式或完整路徑的文件夾,其中文件名稱「Gemfile」是例如cd C:\ Users \ Administrator \ Desktop \ RubyProject \ demo。

這一定會在一分鐘內解決。

0

這是你可以嘗試的東西。

一下添加到您用來運行你的應用程序的任何配置文件。

ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__) 
require 'bundler/setup' # Set up gems listed in the Gemfile. 
Bundler.require(:default) 

Rails和其他基於機架的應用程序使用此方案。有時候你會試圖運行一些比你的Gemfile通常所在的根目錄更深的目錄。 當然,你現在已經解決了這個問題,但偶爾我們都會遇到這個發現Gemfile的麻煩。我有時候也喜歡你可以在.bundle目錄中擁有所有寶石。 它永遠不會傷害,以保持在你的枕頭下的這個網站地址。 http://bundler.io/

相關問題