因为最近要把openrobot的业务扩展到linux/rails上,而我又不想用ruby软件管家(=rvm),所以有了这个过程。
这篇文章写作时使用的环境是ubuntu 16.04 64位, ruby 2.5.0-p1, rails 5.0.2
1. 安装ruby
sudo apt install ruby ruby-dev
如果你追求新版ruby, 或者ruby也想手动装,下面顺便说说手动编译ruby的过程
A. ruby本体编译,有一些库未配置,这里只说zlib和openssl,其他像readline方法大同小异
git clone https://github.com/ruby/ruby
cd ruby
make
sudo make install
普通套路,这没什么奇怪的,但是这样你是跑不起来rubygems的安装的,还需要zlib和openssl的绑定:
B. zlib:
apt install zlib1g zlib1g-dev
cd <ruby源代码>/ext/zlib
ruby extconf.rb --with-zlib-include=/usr/include --with-zlib-lib=/usr/lib
make 'top_srcdir=ruby源代码路径'
sudo make install 'top_srcdir=ruby源代码路径'
C.openssl:在目前甚至有1.1.0e版本,但是和ext/openssl不适合,这里用的是1.0.2k
curl https://www.openssl.org/source/openssl-1.0.2k.tar.gz -o openssl.tgz
tar -xvf openssl.tgz
cd openssl-1.0.2k
sudo ./config
sudo make
sudo make install
cd <ruby源代码>/ext/openssl
ruby extconf.rb --with-openssl-include=/usr/local/ssl/include --with-openssl-lib=/usr/local/ssl/lib
make 'top_srcdir=ruby源代码路径'
sudo make install 'top_srcdir=ruby源代码路径'
2. 如果你没装sqlite3,先装一下,以及他的gem
sudo apt install libsqlite3-dev
sudo gem install sqlite3 -v '1.3.13'
3. rails里面的execjs可能会没有环境,可用环境具体看github.com/rails/execjs上的列表
这里我们用node:
sudo gem install nodejs
4. 然后你就可以开心地
rails new appname
了