2012-11-25 99 views
0

的版本是:爲什麼使用`rails new`這麼慢?

bash-3.2$ rails -v 
Rails 3.2.9 

我的紅寶石是內置的紅寶石MacOSX上:

bash-3.2$ ruby -v 
ruby 1.8.7 (2012-02-08 patchlevel 358) [universal-darwin12.0] 
bash-3.2$ which ruby 
/usr/bin/ruby 

我的問題是,在rails newrun bundle install)的最後一步,似乎軌道需要連接互聯網來下載一些軟件包。通常我需要5分鐘等待rails使用rails new創建任何項目。

我想知道在我的電腦上rails是否沒有配置好某些東西。

另一個奇怪的事情是,我完成了rails new PROJECT_NAME後,它表明:

Using sqlite3 (1.3.6) 
Using uglifier (1.3.0) 
Your bundle is complete! Use `bundle show [gemname]` to see where a bundled gem is installed. 

似乎sqlite3已經安裝,但是,當我嘗試:

bash-3.2$ bundle show sqlite3 
Could not locate Gemfile 

它仍然抱怨說,未安裝sqlite3。 (即使sqlite3已安裝一次它仍然需要下載包),也許這就是那個rails new速度慢的原因

bundle install之前,軌道詢問我的系統密碼:

Enter your password to install the bundled RubyGems to your system 

但我還是不確定這些軟件包是否已安裝到系統中,因爲bundle show sqlite3失敗。

有沒有人有想法,爲什麼rails new是如此之慢,在我的電腦上?謝謝!

+0

您使用RVM嗎? – Robin

+0

@Sam我不知道,因爲我在MacOS上使用內置Ruby –

+2

安裝ruby 1.9.x版本,您的Ruby版本是舊的。 – Thanh

回答

1

另一種解決方案是使用RVM。它與rbenv類似。我個人使用RVM。我不會,也不會推薦使用寶石。 Bundler無論如何都會分離寶石版本。

0
  1. 檢查你的bundle install有什麼問題,即導軌新序列中的最後一步。運行此相反:

rails new appname -B

-B標誌告訴軌 「跳過捆綁」(reference)。然後進入app文件夾運行:

bundle install --verbose

檢查輸出潛在錯誤。

  1. 使用不同的捆綁軟件版本可以給你不同的結果。所以請嘗試other versions

gem uninstall bundler -v your-version-number

gem install bundler -v new-version-number

  • 在2016年,我們得到這是造成一些用戶體驗到slow bundle install issues打捆v1.12.x。在這種情況下,使用1.11.2是更快的選項,直到他們修復它。