【发布时间】:2017-07-04 16:12:12
【问题描述】:
系统:OSX 10.9.5,Rails 4.0.12
在为演示应用程序(Ruby 2.1.5、Rails 4.1.0)克隆存储库后,我使用 rvm 进行安装,然后切换到旧版本的 Ruby,这样我就可以运行演示应用程序了。我在运行演示应用程序时遇到了一些问题,所以我回到我的主项目应用程序(Ruby 2.2.4、Rails 4.0.12),尝试运行 rails s 并得到:
Rails is not currently installed on this system. To get the latest version, simply type:
$ sudo gem install rails
You can then rerun your "rails" command.
这很愚蠢。 Rails 刚才还在这里。我尝试在 Ruby 2.2.4 中切换 gemset,甚至在两者之间关闭终端,但 Rails 仍然“未安装”。这些是我的宝石:
gemsets for ruby-2.0.0-p481 (found in /Users/localflavor/.rvm/gems/ruby-2.0.0-p481)
=> (default)
global
gemsets for ruby-2.1.5 (found in /Users/localflavor/.rvm/gems/ruby-2.1.5)
=> (default)
global
gemsets for ruby-2.2.1 (found in /Users/localflavor/.rvm/gems/ruby-2.2.1)
=> (default)
global
gemsets for ruby-2.2.2 (found in /Users/localflavor/.rvm/gems/ruby-2.2.2)
=> (default)
global
gemsets for ruby-2.2.4 (found in /Users/localflavor/.rvm/gems/ruby-2.2.4)
=> (default)
global
gemsets for ruby-2.3.0 (found in /Users/localflavor/.rvm/gems/ruby-2.3.0)
=> (default)
global
ruby2.2.4@default 中包含的 gem:
$ gem list
*** LOCAL GEMS ***
bigdecimal (default: 1.2.6)
gem-wrappers (1.2.7)
io-console (default: 0.4.3)
json (default: 1.8.1)
minitest (5.4.3)
power_assert (0.2.2)
psych (default: 2.0.8)
rake (default: 10.4.2)
rdoc (default: 4.2.0)
rvm (1.11.3.9)
test-unit (3.0.8)
ruby-2.2.4@global 中包含的 gems
$ gem list
*** LOCAL GEMS ***
bigdecimal (default: 1.2.6)
gem-wrappers (1.2.7)
io-console (default: 0.4.3)
json (default: 1.8.1)
minitest (5.4.3)
power_assert (0.2.2)
psych (default: 2.0.8)
rake (default: 10.4.2)
rdoc (default: 4.2.0)
rvm (1.11.3.9)
test-unit (3.0.8)
Rails,你在哪里?我试过rvm get master,重新安装 ruby 2.2.4、openssl 和 bundler。我已经尝试了所有与this SO question 相关的解决方案。这一切都无济于事。
有趣的是,我也无法安装最新版本的 Ruby (2.4.0)。
$ rvm install ruby 2.4.0
ruby-2.4.0 - #removing src/ruby-2.4.0..
Searching for binary rubies, this might take some time.
No binary rubies available for: osx/10.9/x86_64/ruby-2.4.0.
Continuing with compilation. Please read 'rvm help mount' to get more information on binary rubies.
Checking requirements for osx.
Certificates in '/usr/local/etc/openssl/cert.pem' are already up to date.
Requirements installation successful.
Installing Ruby from source to: /Users/localflavor/.rvm/rubies/ruby-2.4.0, this may take a while depending on your cpu(s)...
ruby-2.4.0 - #downloading ruby-2.4.0, this may take a while depending on your connection...
ruby-2.4.0 - #extracting ruby-2.4.0 to /Users/localflavor/.rvm/src/ruby-2.4.0....
ruby-2.4.0 - #configuring...................................................................
ruby-2.4.0 - #post-configuration.
ruby-2.4.0 - #compiling....................
Error running '__rvm_make -j 1',
showing last 15 lines of /Users/localflavor/.rvm/log/1487187741_ruby-2.4.0/make.log
configuring pty
configuring racc/cparse
configuring rbconfig/sizeof
configuring readline
configuring ripper
configuring rubyvm
configuring sdbm
configuring socket
configuring stringio
configuring strscan
configuring syslog
configuring zlib
exts.mk:1471: *** commands commence before first target. Stop.
make: *** [build-ext] Error 2
++ return 2
There has been an error while running make. Halting the installation.
我假设 Rails 在这里,只是没有被看到。就像 bundler 和 openssl 一样。有什么事情发生了,我不知道还能去哪里看。我怎样才能找到它并让它重新投入使用?
更新
虽然我的 SSL 问题仍未解决,但我能够通过这个变通方法让 Rails 重新启动并运行(感谢 Kevin-T!)
由于 ruby 2.2.4 的两个 gemset 都缺少 Rails(感谢 7stud 提供 gem 列表指针),我需要重新安装它。但是当我运行 gem install rails -v 4.0.12
ERROR: While executing gem ... (Gem::Exception)
Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources
所以我选择了选项 2:使用非 HTTPS 源。为此,我运行了gem source 以确认我的来源是https:
*** CURRENT SOURCES ***
https://rubygems.org/
我用gem source --add http://rubygems.org 添加了新的http 版本:
https://rubygems.org is recommended for security over http://rubygems.org
Do you want to add this insecure source? [yn] y <-- I said yes
http://rubygems.org added to sources
我检查了它是用gem source添加的:
*** CURRENT SOURCES ***
https://rubygems.org/
http://rubygems.org <-- the new one
然后用gem source --remove https://rubygems.org/删除https:
https://rubygems.org/ removed from sources
此时,运行gem install rails -v 4.0.12 有效。查看this post 以在没有大量文档的情况下进行安装。
【问题讨论】:
标签: ruby-on-rails ruby macos rvm