[英]Can't get 'rails new' to work
I'm a n00b eager to get my hands on Ruby on Rails (OSX 10.7). 我非常渴望得到Ruby on Rails(OSX 10.7)。 But first I need to install it. 但首先我需要安装它。 Now I've spend 9 hours trying to get it to work but it always fails when I try to create a new project: 现在我花了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.
My theory: 我的理论:
I suspect it is the https access that is screwing up. 我怀疑是https访问是搞砸了。 Some say it is some problem with openssl. 有人说这是openssl的一些问题。
$ openssl version
OpenSSL 0.9.8r 8 Feb 2011
Apparently, the best answer is 'OpenSSL 1.0.1' but I have no clue how to update Openssl globally. 显然,最好的答案是'OpenSSL 1.0.1',但我不知道如何在全球范围内更新Openssl。 Ignoring this I did reinstall ruby doing the following: 忽略这一点我确实重新安装ruby执行以下操作:
$ rvm remove 1.9.3
$ brew install openssl
$ rvm install 1.9.3 --with-openssl-dir=`brew --prefix openssl`
I have no clue what brew does but it seems to install openssl and tuck it away in a directory somewhere. 我不知道brew会做什么,但它似乎安装openssl并把它塞进某个目录。 Anyway. 无论如何。 Whatever I do I always end up with the same error: 无论我做什么,我总是会遇到同样的错误:
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.
I reinstalled the whole chabang. 我重新安装了整个chabang。 Same result. 结果相同。 Here is the log: 这是日志:
Remove rvm 删除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
Installing RVM 安装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/]
Intalling Ruby 1.9.3 (with openssl 1.0.1) 安装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
Installing RubyGems just in case. 安装RubyGems以防万一。 Afer downloading RubyGems through GIT I move to the directory and run setup. 之后通过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.
Installing json (it complains if I don't) 安装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
Installing rails 安装导轨
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
Finally. 最后。 Let's create a new project 让我们创建一个新项目
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$
Same result. 结果相同。 What's wrong? 怎么了?
I would try two things here. 我会在这里尝试两件事。
First, ensure that the Rails command is running from the correct location: it sounds possible that you're not using the correct version of Rails. 首先,确保Rails命令从正确的位置运行:听起来您可能没有使用正确版本的Rails。 which rails
should show you that the file is sourced from inside your RVM installation: if it isn't, you need to make sure you rvm use 1.9.3
and then try gem install rails
again. which rails
应该显示该文件来自RVM安装内部:如果不是,则需要确保rvm use 1.9.3
然后再次尝试gem install rails
。
Second, because this error sounds similar to an error that occurred in an older version of gem, I would try updating your gem binary. 其次,因为这个错误听起来类似于旧版gem中发生的错误,我会尝试更新你的gem二进制文件。 First, just like in Rails, type which gem
to ensure that you're using the RVM gem, not the system gem. 首先,就像在Rails中一样,键入which gem
来确保您使用的是RVM gem,而不是系统gem。 Then, do gem update --system
before you bundle install again. 然后,在再次捆绑安装之前执行gem update --system
。
I had the same problem, as it turned out I needed to update bundler. 我有同样的问题,因为事实证明我需要更新bundler。
gem install bundler gem install bundler
Old question, but I am having this problem today. 老问题,但我今天遇到这个问题。 The big hammer approach: 大锤方法:
sudo su
rails new my_proj
rm -rf my_proj
exit
rails new my_proj
The increased permissions of root allows all of the bundles to install without throwing an error. 增加的root权限允许安装所有bundle而不会抛出错误。 Then you remove the project and return to your normal-priv user and recreate the project. 然后删除项目并返回普通的priv用户并重新创建项目。 With all of the bundles installed by root, the 'new' command ran successfully. 通过root安装所有bundle,“new”命令成功运行。
This guide turned out to work: 该指南结果证明有效:
http://tecparatodos.com/2011/07/24/installing-ruby-on-rails-on-mac-os-x-lion/ http://tecparatodos.com/2011/07/24/installing-ruby-on-rails-on-mac-os-x-lion/
I think that my problem was that XCode was not set up correctly. 我认为我的问题是XCode设置不正确。 Follow this guide and everything will work out fine. 按照本指南,一切都会很好。
I had the same problem and I solved it by updating Homebrew 我有同样的问题,我通过更新Homebrew解决了它
brew update
And by updating the command line tools from the Xcode download tab of the preferences panel. 并通过更新首选项面板的Xcode下载选项卡中的命令行工具。
Hope it will help people who are still looking for the answer. 希望它能帮助那些仍在寻找答案的人。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.