簡體   English   中英

無法讓'rails new'工作

[英]Can't get 'rails new' to work

我非常渴望得到Ruby on Rails(OSX 10.7)。 但首先我需要安裝它。 現在我花了9個小時試圖讓它工作但是當我嘗試創建一個新項目時總是失敗:

$ rails new /Users/tom/Documents/14-Utveckling/WhichTerminal 
   exist  
identical  README.rdoc
identical  Rakefile
identical  config.ru
identical  .gitignore
 conflict  Gemfile
Overwrite /Users/tom/Documents/14-Utveckling/WhichTerminal/Gemfile? (enter "h" for help) [Ynaqdh] Y
   force  Gemfile
   exist  app
identical  app/assets/images/rails.png
identical  app/assets/javascripts/application.js
identical  app/assets/stylesheets/application.css
identical  app/controllers/application_controller.rb
identical  app/helpers/application_helper.rb
    exist  app/mailers
    exist  app/models
identical  app/views/layouts/application.html.erb
identical  app/mailers/.gitkeep
identical  app/models/.gitkeep
    exist  config
 identical  config/routes.rb
identical  config/application.rb
identical  config/environment.rb
   exist  config/environments
identical  config/environments/development.rb
identical  config/environments/production.rb
identical  config/environments/test.rb
    exist  config/initializers
identical  config/initializers/backtrace_silencers.rb
identical  config/initializers/inflections.rb
identical  config/initializers/mime_types.rb
 conflict  config/initializers/secret_token.rb
Overwrite /Users/tom/Documents/14-  Utveckling/WhichTerminal/config/initializers/secret_token.rb? (enter "h" for help) [Ynaqdh] Y
    force  config/initializers/secret_token.rb
 conflict  config/initializers/session_store.rb
Overwrite /Users/tom/Documents/14-Utveckling/WhichTerminal/config/initializers/session_store.rb? (enter "h" for help) [Ynaqdh] Y
    force  config/initializers/session_store.rb
 conflict  config/initializers/wrap_parameters.rb
 Overwrite /Users/tom/Documents/14-Utveckling/WhichTerminal/config/initializers/wrap_parameters.rb? (enter "h" for help) [Ynaqdh] Y
    force  config/initializers/wrap_parameters.rb
    exist  config/locales
identical  config/locales/en.yml
identical  config/boot.rb
identical  config/database.yml
    exist  db
 conflict  db/seeds.rb
Overwrite /Users/tom/Documents/14-Utveckling/WhichTerminal/db/seeds.rb? (enter "h" for help) [Ynaqdh] Y
   force  db/seeds.rb
   exist  doc
identical  doc/README_FOR_APP
    exist  lib
    exist  lib/tasks
identical  lib/tasks/.gitkeep
    exist  lib/assets
identical  lib/assets/.gitkeep
    exist  log
identical  log/.gitkeep
    exist  public
identical  public/404.html
identical  public/422.html
identical  public/500.html
identical  public/favicon.ico
identical  public/index.html
identical  public/robots.txt
    exist  script
identical  script/rails
    exist  test/fixtures
identical  test/fixtures/.gitkeep
    exist  test/functional
identical  test/functional/.gitkeep
    exist  test/integration
identical  test/integration/.gitkeep
    exist  test/unit
identical  test/unit/.gitkeep
identical  test/performance/browsing_test.rb
identical  test/test_helper.rb
    exist  tmp/cache
    exist  tmp/cache/assets
    exist  vendor/assets/javascripts
identical  vendor/assets/javascripts/.gitkeep
    exist  vendor/assets/stylesheets
identical  vendor/assets/stylesheets/.gitkeep
    exist  vendor/plugins
identical  vendor/plugins/.gitkeep
      run  bundle install
Enter your password to install the bundled RubyGems to your system: 
Fetching gem metadata from https://rubygems.org/.........

NoMethodError: private method `open' called for Gem::Package:Class
An error occured while installing rake (0.9.2.2), and Bundler cannot continue.
Make sure that `gem install rake -v '0.9.2.2'` succeeds before bundling.

我的理論:

我懷疑是https訪問是搞砸了。 有人說這是openssl的一些問題。

$ openssl version
OpenSSL 0.9.8r 8 Feb 2011

顯然,最好的答案是'OpenSSL 1.0.1',但我不知道如何在全球范圍內更新Openssl。 忽略這一點我確實重新安裝ruby執行以下操作:

$ rvm remove 1.9.3
$ brew install openssl
$ rvm install 1.9.3 --with-openssl-dir=`brew --prefix openssl`

我不知道brew會做什么,但它似乎安裝openssl並把它塞進某個目錄。 無論如何。 無論我做什么,我總是會遇到同樣的錯誤:

Fetching gem metadata from https://rubygems.org/.........
NoMethodError: private method `open' called for Gem::Package:Class
An error occured while installing rake (0.9.2.2), and Bundler cannot continue.

我重新安裝了整個chabang。 結果相同。 這是日志:

刪除rvm

$ rvm implode
[...]
rvm has been fully removed. Note you may need to manually remove /etc/rvmrc and ~/.rvmrc if they exist still.
$ gem uninstall rvm
$ which ruby
/usr/bin/ruby

安裝RVM

$ curl -L get.rvm.io | bash -s stable
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  9248  100  9248    0     0   2403      0  0:00:03  0:00:03 --:--:-- 27939
Downloading RVM from wayneeseguin branch stable
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1023k  100 1023k    0     0  85026      0  0:00:12  0:00:12 --:--:-- 94532

Installing RVM to /Users/tom/.rvm/
    RVM PATH line found in /Users/tom/.bashrc /Users/tom/.zshrc.
    RVM sourcing line found in /Users/tom/.bash_login /Users/tom/.zlogin.

# RVM:  Shell scripts enabling management of multiple ruby environments.
# RTFM: https://rvm.io/
# HELP: http://webchat.freenode.net/?channels=rvm (#rvm on irc.freenode.net)
# Cheatsheet: http://cheat.errtheblog.com/s/rvm/
# Screencast: http://screencasts.org/episodes/how-to-use-rvm

# In case of any issues read output of 'rvm requirements' and/or 'rvm notes'

Installation of RVM in /Users/tom/.rvm/ is almost complete:

  * To start using RVM you need to run `source /Users/tom/.rvm/scripts/rvm`
    in all your open shell windows, in rare cases you need to reopen all shell windows.

# Tom Eriksen,
#
#   Thank you for using RVM!
#   I sincerely hope that RVM helps to make your life easier and more enjoyable!!!
#
# ~Wayne


rvm 1.13.8 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

安裝Ruby 1.9.3(使用openssl 1.0.1)

$ rvm install 1.9.3 --with-openssl-dir=`brew --prefix openssl`
Fetching yaml-0.1.4.tar.gz to /Users/tom/.rvm/archives
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  460k  100  460k    0     0  65747      0  0:00:07  0:00:07 --:--:--  116k
Extracting yaml-0.1.4.tar.gz to /Users/tom/.rvm/src
Configuring yaml in /Users/tom/.rvm/src/yaml-0.1.4.
Compiling yaml in /Users/tom/.rvm/src/yaml-0.1.4.
Installing yaml to /Users/tom/.rvm/usr
Installing Ruby from source to: /Users/tom/.rvm/rubies/ruby-1.9.3-p194, this may take a while depending on your cpu(s)...

ruby-1.9.3-p194 - #fetching 
ruby-1.9.3-p194 - #downloading ruby-1.9.3-p194, this may take a while depending on your connection...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 9610k  100 9610k    0     0   193k      0  0:00:49  0:00:49 --:--:--  212k
ruby-1.9.3-p194 - #extracting ruby-1.9.3-p194 to /Users/tom/.rvm/src/ruby-1.9.3-p194
ruby-1.9.3-p194 - #extracted to /Users/tom/.rvm/src/ruby-1.9.3-p194
ruby-1.9.3-p194 - #configuring 
ruby-1.9.3-p194 - #compiling 
ruby-1.9.3-p194 - #installing 
Retrieving rubygems-1.8.24
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  371k  100  371k    0     0   355k      0  0:00:01  0:00:01 --:--:--  446k
Extracting rubygems-1.8.24 ...
Removing old Rubygems files...
Installing rubygems-1.8.24 for ruby-1.9.3-p194 ...
Installation of rubygems completed successfully.
ruby-1.9.3-p194 - adjusting #shebangs for (gem irb erb ri rdoc testrb rake).
ruby-1.9.3-p194 - #importing default gemsets (/Users/tom/.rvm/gemsets/)
Install of ruby-1.9.3-p194 - #complete 
$ which ruby
/Users/tom/.rvm/rubies/ruby-1.9.3-p194/bin/ruby
$ which gem
/Users/tom/.rvm/rubies/ruby-1.9.3-p194/bin/gem
$ which rails
/usr/bin/rails

安裝RubyGems以防萬一。 之后通過GIT下載RubyGems我移動到目錄並運行安裝程序。

$ cd /Users/tom/Library/Developer/rubygems 
Toms-dator-2:rubygems tom$ ruby setup.rb 
RubyGems 2.0.a installed



------------------------------------------------------------------------------

RubyGems installed the following executables:
    /Users/tom/.rvm/rubies/ruby-1.9.3-p194/bin/gem

rubygems$ gem update --system
Latest version currently installed. Aborting.

安裝json(如果我不這樣做會抱怨)

rubygems$ gem install json
Fetching: json-1.7.3.gem (100%)
Building native extensions.  This could take a while...
Successfully installed json-1.7.3
Installing ri documentation for json-1.7.3
Installing darkfish documentation for json-1.7.3
1 gem installed

Rubygems$ which gem
/Users/tom/.rvm/rubies/ruby-1.9.3-p194/bin/gem

安裝導軌

Rubygems$ gem install rails
Fetching: i18n-0.6.0.gem (100%)
Successfully installed i18n-0.6.0
Fetching: multi_json-1.3.5.gem (100%)
Successfully installed multi_json-1.3.5
Fetching: activesupport-3.2.3.gem (100%)
Successfully installed activesupport-3.2.3
Fetching: builder-3.0.0.gem (100%)
Successfully installed builder-3.0.0
Fetching: activemodel-3.2.3.gem (100%)
Successfully installed activemodel-3.2.3
Fetching: rack-1.4.1.gem (100%)
Successfully installed rack-1.4.1
Fetching: rack-cache-1.2.gem (100%)
Successfully installed rack-cache-1.2
Fetching: rack-test-0.6.1.gem (100%)
Successfully installed rack-test-0.6.1
Fetching: journey-1.0.3.gem (100%)
Successfully installed journey-1.0.3
Fetching: hike-1.2.1.gem (100%)
Successfully installed hike-1.2.1
Fetching: tilt-1.3.3.gem (100%)
Successfully installed tilt-1.3.3
Fetching: sprockets-2.1.3.gem (100%)
Successfully installed sprockets-2.1.3
Fetching: erubis-2.7.0.gem (100%)
Successfully installed erubis-2.7.0
Fetching: actionpack-3.2.3.gem (100%)
Successfully installed actionpack-3.2.3
Fetching: arel-3.0.2.gem (100%)
Successfully installed arel-3.0.2
Fetching: tzinfo-0.3.33.gem (100%)
Successfully installed tzinfo-0.3.33
Fetching: activerecord-3.2.3.gem (100%)
Successfully installed activerecord-3.2.3
Fetching: activeresource-3.2.3.gem (100%)
Successfully installed activeresource-3.2.3
Fetching: mime-types-1.18.gem (100%)
Successfully installed mime-types-1.18
Fetching: polyglot-0.3.3.gem (100%)
Successfully installed polyglot-0.3.3
Fetching: treetop-1.4.10.gem (100%)
Successfully installed treetop-1.4.10
Fetching: mail-2.4.4.gem (100%)
Successfully installed mail-2.4.4
Fetching: actionmailer-3.2.3.gem (100%)
Successfully installed actionmailer-3.2.3
Fetching: thor-0.14.6.gem (100%)
Successfully installed thor-0.14.6
Fetching: rack-ssl-1.3.2.gem (100%)
Successfully installed rack-ssl-1.3.2
Fetching: rdoc-3.12.gem (100%)
Depending on your version of ruby, you may need to install ruby rdoc/ri data:

<= 1.8.6 : unsupported
 = 1.8.7 : gem install rdoc-data; rdoc-data --install
 = 1.9.1 : gem install rdoc-data; rdoc-data --install
>= 1.9.2 : nothing to do! Yay!
Successfully installed rdoc-3.12
Fetching: railties-3.2.3.gem (100%)
Successfully installed railties-3.2.3
Fetching: rails-3.2.3.gem (100%)
Successfully installed rails-3.2.3
Installing ri documentation for i18n-0.6.0
Installing darkfish documentation for i18n-0.6.0
Installing ri documentation for multi_json-1.3.5
Installing darkfish documentation for multi_json-1.3.5
Installing ri documentation for activesupport-3.2.3
Installing darkfish documentation for activesupport-3.2.3
unable to convert "\xF1" from ASCII-8BIT to UTF-8 for README, skipping
unable to convert "\xF1" from ASCII-8BIT to UTF-8 for README.rdoc, skipping
unable to convert "\xF1" from ASCII-8BIT to UTF-8 for test/performance.rb, skipping
Installing ri documentation for builder-3.0.0
Installing darkfish documentation for builder-3.0.0
Installing ri documentation for activemodel-3.2.3
Installing darkfish documentation for activemodel-3.2.3
unable to convert "\x89" from ASCII-8BIT to UTF-8 for test/multipart/binary, skipping
Installing ri documentation for rack-1.4.1
Installing darkfish documentation for rack-1.4.1
Installing ri documentation for rack-cache-1.2
Installing darkfish documentation for rack-cache-1.2
Installing ri documentation for rack-test-0.6.1
Installing darkfish documentation for rack-test-0.6.1
Installing ri documentation for journey-1.0.3
Installing darkfish documentation for journey-1.0.3
Installing ri documentation for hike-1.2.1
Installing darkfish documentation for hike-1.2.1
Installing ri documentation for tilt-1.3.3
Installing darkfish documentation for tilt-1.3.3
Installing ri documentation for sprockets-2.1.3
Installing darkfish documentation for sprockets-2.1.3
Installing ri documentation for erubis-2.7.0
Installing darkfish documentation for erubis-2.7.0
Installing ri documentation for actionpack-3.2.3
Installing darkfish documentation for actionpack-3.2.3
Installing ri documentation for arel-3.0.2
Installing darkfish documentation for arel-3.0.2
Installing ri documentation for tzinfo-0.3.33
Installing darkfish documentation for tzinfo-0.3.33
Installing ri documentation for activerecord-3.2.3
Installing darkfish documentation for activerecord-3.2.3
Installing ri documentation for activeresource-3.2.3
Installing darkfish documentation for activeresource-3.2.3
Installing ri documentation for mime-types-1.18
Installing darkfish documentation for mime-types-1.18
Installing ri documentation for polyglot-0.3.3
Installing darkfish documentation for polyglot-0.3.3
Installing ri documentation for treetop-1.4.10
Installing darkfish documentation for treetop-1.4.10
Installing ri documentation for mail-2.4.4
Installing darkfish documentation for mail-2.4.4
Installing ri documentation for actionmailer-3.2.3
Installing darkfish documentation for actionmailer-3.2.3
Installing ri documentation for thor-0.14.6
Installing darkfish documentation for thor-0.14.6
Installing ri documentation for rack-ssl-1.3.2
Installing darkfish documentation for rack-ssl-1.3.2
Installing ri documentation for rdoc-3.12
Installing darkfish documentation for rdoc-3.12
Installing ri documentation for railties-3.2.3
Installing darkfish documentation for railties-3.2.3
Installing ri documentation for rails-3.2.3
Installing darkfish documentation for rails-3.2.3
28 gems installed

Rubygems$ which rails
/Users/tom/.rvm/gems/ruby-1.9.3-p194/bin/rails

最后。 讓我們創建一個新項目

Rubygems$ rails new /Users/tom/Documents/WhichTerminal 
       exist  
      create  README.rdoc
      create  Rakefile
      create  config.ru
   identical  .gitignore
      create  Gemfile
      create  app
      create  app/assets/images/rails.png
      create  app/assets/javascripts/application.js
      create  app/assets/stylesheets/application.css
      create  app/controllers/application_controller.rb
      create  app/helpers/application_helper.rb
      create  app/mailers
      create  app/models
      create  app/views/layouts/application.html.erb
      create  app/mailers/.gitkeep
      create  app/models/.gitkeep
      create  config
      create  config/routes.rb
      create  config/application.rb
      create  config/environment.rb
      create  config/environments
      create  config/environments/development.rb
      create  config/environments/production.rb
      create  config/environments/test.rb
      create  config/initializers
      create  config/initializers/backtrace_silencers.rb
      create  config/initializers/inflections.rb
      create  config/initializers/mime_types.rb
      create  config/initializers/secret_token.rb
      create  config/initializers/session_store.rb
      create  config/initializers/wrap_parameters.rb
      create  config/locales
      create  config/locales/en.yml
      create  config/boot.rb
      create  config/database.yml
      create  db
      create  db/seeds.rb
      create  doc
      create  doc/README_FOR_APP
      create  lib
      create  lib/tasks
      create  lib/tasks/.gitkeep
      create  lib/assets
      create  lib/assets/.gitkeep
      create  log
      create  log/.gitkeep
      create  public
      create  public/404.html
      create  public/422.html
      create  public/500.html
      create  public/favicon.ico
      create  public/index.html
      create  public/robots.txt
      create  script
      create  script/rails
      create  test/fixtures
      create  test/fixtures/.gitkeep
      create  test/functional
      create  test/functional/.gitkeep
      create  test/integration
      create  test/integration/.gitkeep
      create  test/unit
      create  test/unit/.gitkeep
      create  test/performance/browsing_test.rb
      create  test/test_helper.rb
      create  tmp/cache
      create  tmp/cache/assets
      create  vendor/assets/javascripts
      create  vendor/assets/javascripts/.gitkeep
      create  vendor/assets/stylesheets
      create  vendor/assets/stylesheets/.gitkeep
      create  vendor/plugins
      create  vendor/plugins/.gitkeep
         run  bundle install
Fetching gem metadata from https://rubygems.org/.........

NoMethodError: private method `open' called for Gem::Package:Class
An error occured while installing rake (0.9.2.2), and Bundler cannot continue.
Make sure that `gem install rake -v '0.9.2.2'` succeeds before bundling.
Rubygems$ 

結果相同。 怎么了?

我會在這里嘗試兩件事。

首先,確保Rails命令從正確的位置運行:聽起來您可能沒有使用正確版本的Rails。 which rails應該顯示該文件來自RVM安裝內部:如果不是,則需要確保rvm use 1.9.3然后再次嘗試gem install rails

其次,因為這個錯誤聽起來類似於舊版gem中發生的錯誤,我會嘗試更新你的gem二進制文件。 首先,就像在Rails中一樣,鍵入which gem來確保您使用的是RVM gem,而不是系統gem。 然后,在再次捆綁安裝之前執行gem update --system

我有同樣的問題,因為事實證明我需要更新bundler。

gem install bundler

老問題,但我今天遇到這個問題。 大錘方法:

sudo su
rails new my_proj
rm -rf my_proj
exit
rails new my_proj

增加的root權限允許安裝所有bundle而不會拋出錯誤。 然后刪除項目並返回普通的priv用戶並重新創建項目。 通過root安裝所有bundle,“new”命令成功運行。

該指南結果證明有效:

http://tecparatodos.com/2011/07/24/installing-ruby-on-rails-on-mac-os-x-lion/

我認為我的問題是XCode設置不正確。 按照本指南,一切都會很好。

我有同樣的問題,我通過更新Homebrew解決了它

brew update

並通過更新首選項面板的Xcode下載選項卡中的命令行工具。

希望它能幫助那些仍在尋找答案的人。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM