【问题标题】:how to build rails running environment on FreeBSD 9.1如何在 FreeBSD 9.1 上搭建 rails 运行环境
【发布时间】:2013-02-28 10:25:44
【问题描述】:

我知道两种方法:

方法一:用端口安装导轨,步骤如下:

  1. 安装 ruby​​,lang/ruby19

  2. 安装 gem、devel/ruby-gems

  3. 安装导轨,www/rubygem-rails

方法2:用gem安装rails(Mac OS X上也一样):

  1. 安装 ruby​​,lang/ruby19

  2. 安装 gem、devel/ruby-gems

  3. 安装rails,gem安装rails

方法1效果很好,但我想尝试方法2,完成方法2的所有步骤,我尝试使用命令rails new hello创建我的第一个应用程序,但失败了,出现错误:

在 FreeBSD 9.1 上构建 rails 开发/运行环境的最佳方法是什么?

/usr/local/lib/ruby/gems/1.9/gems/bundler-1.3.0/lib/bundler/vendor/net/http/persistent/ssl_reuse.rb:70:in `connect': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (OpenSSL::SSL::SSLError)
    from /usr/local/lib/ruby/gems/1.9/gems/bundler-1.3.0/lib/bundler/vendor/net/http/persistent/ssl_reuse.rb:70:in `block in connect'
    from /usr/local/lib/ruby/1.9/timeout.rb:54:in `timeout'
    from /usr/local/lib/ruby/1.9/timeout.rb:99:in `timeout'
    from /usr/local/lib/ruby/gems/1.9/gems/bundler-1.3.0/lib/bundler/vendor/net/http/persistent/ssl_reuse.rb:70:in `connect'
    from /usr/local/lib/ruby/1.9/net/http.rb:755:in `do_start'
    from /usr/local/lib/ruby/1.9/net/http.rb:750:in `start'
    from /usr/local/lib/ruby/gems/1.9/gems/bundler-1.3.0/lib/bundler/vendor/net/http/persistent.rb:628:in `start'
    from /usr/local/lib/ruby/gems/1.9/gems/bundler-1.3.0/lib/bundler/vendor/net/http/persistent.rb:570:in `connection_for'
    from /usr/local/lib/ruby/gems/1.9/gems/bundler-1.3.0/lib/bundler/vendor/net/http/persistent.rb:930:in `request'
    from /usr/local/lib/ruby/gems/1.9/gems/bundler-1.3.0/lib/bundler/fetcher.rb:195:in `fetch'
    from /usr/local/lib/ruby/gems/1.9/gems/bundler-1.3.0/lib/bundler/fetcher.rb:169:in `use_api'
    from /usr/local/lib/ruby/gems/1.9/gems/bundler-1.3.0/lib/bundler/source/rubygems.rb:223:in `block in remote_specs'
    from /usr/local/lib/ruby/gems/1.9/gems/bundler-1.3.0/lib/bundler/source/rubygems.rb:223:in `select'
    from /usr/local/lib/ruby/gems/1.9/gems/bundler-1.3.0/lib/bundler/source/rubygems.rb:223:in `remote_specs'
    from /usr/local/lib/ruby/gems/1.9/gems/bundler-1.3.0/lib/bundler/source/rubygems.rb:162:in `fetch_specs'
    from /usr/local/lib/ruby/gems/1.9/gems/bundler-1.3.0/lib/bundler/source/rubygems.rb:66:in `specs'
    from /usr/local/lib/ruby/gems/1.9/gems/bundler-1.3.0/lib/bundler/definition.rb:192:in `block (2 levels) in index'
    from /usr/local/lib/ruby/gems/1.9/gems/bundler-1.3.0/lib/bundler/definition.rb:189:in `each'
    from /usr/local/lib/ruby/gems/1.9/gems/bundler-1.3.0/lib/bundler/definition.rb:189:in `block in index'
    from /usr/local/lib/ruby/gems/1.9/gems/bundler-1.3.0/lib/bundler/index.rb:9:in `build'
    from /usr/local/lib/ruby/gems/1.9/gems/bundler-1.3.0/lib/bundler/definition.rb:185:in `index'
    from /usr/local/lib/ruby/gems/1.9/gems/bundler-1.3.0/lib/bundler/definition.rb:179:in `resolve'
    from /usr/local/lib/ruby/gems/1.9/gems/bundler-1.3.0/lib/bundler/definition.rb:114:in `specs'
    from /usr/local/lib/ruby/gems/1.9/gems/bundler-1.3.0/lib/bundler/definition.rb:109:in `resolve_remotely!'
    from /usr/local/lib/ruby/gems/1.9/gems/bundler-1.3.0/lib/bundler/installer.rb:83:in `run'
    from /usr/local/lib/ruby/gems/1.9/gems/bundler-1.3.0/lib/bundler/installer.rb:14:in `install'
    from /usr/local/lib/ruby/gems/1.9/gems/bundler-1.3.0/lib/bundler/cli.rb:247:in `install'
    from /usr/local/lib/ruby/gems/1.9/gems/bundler-1.3.0/lib/bundler/vendor/thor/task.rb:27:in `run'
    from /usr/local/lib/ruby/gems/1.9/gems/bundler-1.3.0/lib/bundler/vendor/thor/invocation.rb:120:in `invoke_task'
    from /usr/local/lib/ruby/gems/1.9/gems/bundler-1.3.0/lib/bundler/vendor/thor.rb:344:in `dispatch'
    from /usr/local/lib/ruby/gems/1.9/gems/bundler-1.3.0/lib/bundler/vendor/thor/base.rb:434:in `start'
    from /usr/local/lib/ruby/gems/1.9/gems/bundler-1.3.0/bin/bundle:20:in `block in <top (required)>'
    from /usr/local/lib/ruby/gems/1.9/gems/bundler-1.3.0/lib/bundler/friendly_errors.rb:4:in `with_friendly_errors'
    from /usr/local/lib/ruby/gems/1.9/gems/bundler-1.3.0/bin/bundle:20:in `<top (required)>'
    from /usr/local/bin/bundle:23:in `load'
    from /usr/local/bin/bundle:23:in `<main>'

【问题讨论】:

    标签: ruby-on-rails rubygems gem installation freebsd


    【解决方案1】:

    不要从你的包管理器安装 Ruby,更喜欢RBEnv 来处理这个工作。在 FreeBSD 上使用它:

    # as root
    pkg_add -r bash curl git libxml2 libxslt node-devel sqlite3 sudo wget
    
    # as user
    
    # rbenv
    git clone https://github.com/rbenv/rbenv.git ~/.rbenv
    git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
    git clone https://github.com/rbenv/rbenv-gem-rehash.git ~/.rbenv/plugins/rbenv-gem-rehash
    echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.profile
    echo 'eval "$(rbenv init -)"' >> ~/.profile
    source ~/.profile
    
    # ruby and rails
    rbenv install 2.4.4
    rbenv global 2.4.4
    gem install rails
    

    希望对你有帮助:)

    来源:http://chatchan.us/bsdonrails.pdf

    【讨论】:

      【解决方案2】:

      无法重现。更新您的端口树并重试,也许您需要新版本的 devel/ruby-gems。

      【讨论】:

      • 谢谢,你的操作系统版本是什么,我猜是使用了错误的 openssl 版本。现在我先安装rvm,然后更新openssl,然后用rvm install 2.0.0 安装ruby,就可以了。顺便说一句,由于rvm使用bash,所以我在安装rvm之前安装了bash。
      • FreeBSD 9.0 是我用来测试的。我也可以设置 9.1 进行测试。在尝试安装导轨之前,您是否安装了其他任何东西?此外,发布 pkg_info 和 gem list 的输出也会很有帮助。
      • 我先从端口安装 lang/ruby2.0 和 devel/ruby-gem,然后尝试从端口安装带有 gem 的导轨(gem install rails),它的工作原理。但捆绑命令总是无法执行。当我使用rvm时,我用rvm安装openssl(rvm pkg install openssl),然后一切都会好起来的。
      • 我看看能不能重现,但在那之前,你也可以考虑试试 www/rubygem-rails 端口。
      • 我重新安装了lang/ruby20,然后在Makefile中添加WIHT_OPENSSL_PORT=yes,然后执行bundle install,出现如下错误,不幸的是,出现了致命错误。请参阅 bit.ly/bundler-issues 的 Bundler 故障排除文档。谢谢! /usr/local/lib/ruby/2.0/net/http.rb:917:in 'connect': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (OpenSSL::SSL::SSLError ),然后我将Gemfile中的source 'https://rubygems.org'替换成source 'http://rubygems.org',bundle效果很好。
      【解决方案3】:

      Habax 击中了它的头部。我会支持你,但这是一个新帐户。对不起!

      因为我使用的是 bash shell:.profile = .bash_profile

      最新的 ruby​​ 版本安装正确。不过安装需要 5 分钟左右。

      rbenv install 2.0.0-p247
      

      为了兼容性和稳定性,我们使用 rails 3.2.13 而不是 4.0.0。

      gem install rails -v 3.2.13
      

      【讨论】:

        【解决方案4】:

        以 root 身份安装预构建包:

        pkg install ruby27-gems rbenv
        gem install rails
        

        【讨论】:

          猜你喜欢
          • 2020-09-21
          • 1970-01-01
          • 2011-01-31
          • 1970-01-01
          • 1970-01-01
          • 2012-01-23
          • 2021-05-19
          • 2022-01-24
          • 1970-01-01
          相关资源
          最近更新 更多