如何在FreeBSD 9.1上构建rails运行环境

Clo*_*BSD 2 installation gem freebsd rubygems ruby-on-rails

我知道两种方法:

方法1:使用端口安装rails,步骤如下:

  1. 安装ruby,lang/ruby​​19

  2. 安装gem,devel/ruby​​-gems

  3. 安装rails,www/ruby​​gem-rails

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

  1. 安装ruby,lang/ruby​​19

  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>'
Run Code Online (Sandbox Code Playgroud)

Hab*_*bax 7

不要从包管理器安装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
Run Code Online (Sandbox Code Playgroud)

我希望这能帮到您 :)

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