系统:OSX 10.9.5,Rails 4.0.12
在为演示应用程序(Ruby 2.1.5,Rails 4.1.0)克隆了一个repo之后,我使用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中切换gemsets,甚至在两者之间关闭终端,但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 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
中$ 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的两个gemsets都缺少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/
我使用http
添加了新的gem source --add http://rubygems.org
版本:
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
然后使用https
删除gem source --remove https://rubygems.org/
个:
https://rubygems.org/ removed from sources
此时,正在运行gem install rails -v 4.0.12
。查看this post即可安装,无需大量文档。
答案 0 :(得分:0)
此系统上当前未安装Rails。获取最新信息 版本,只需输入:
$ sudo gem install rails
然后你可以重新运行你的&#34; rails&#34;命令。
嗯,这太傻了。 Rails刚才就在这里。
首先警告:永远不要将sudo
与rvm一起使用。
使用rvm,您需要注意两件事:
宝石集就像一个自包含的包,里面有一些宝石。要查看这些宝石,您必须使用该gemset。如果您使用的是不同的宝石集,那么您将看到不同的宝石。
为了验证当前选择的gemset中是否包含gem,您可以这样做:
$ gem list
有关如何使用rvm以及rails和各种gemsets的一般说明,请参见:
Change rails version used by rvm
有趣的是,我也无法安装最新版本 Ruby(2.4.0)。
您的输出显示rvm在编译zlib
时遇到问题。似乎rbenv人群在OSX上编译zlib时也遇到了一些问题。您可能想尝试修复:
答案 1 :(得分:0)
Rvm不久前有this issue。它早于ruby 2.4.0,但也许你在这里遇到同样的问题?如果您运行的是OS X 10.9,我怀疑您正在运行较旧的安装。在该问题上建议的解决方案是使用
更新您的rvmrvm get master
我会尝试运行它,然后重试你的rvm命令。
旁注:现在对rvm强制执行pgp验证,因此您可能需要运行
gpg2 --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
第一