在WSL(Windows Linux子系统)上安装Ruby 2.3



首先,对不起我的英语不好。

我正试图通过Windows Linux子系统,也就是Windows 10上的Ubuntu,在我的系统上安装Ruby 2.3.0。我遵循了这个指示(但不是百分之百)。但每次我尝试,它都无法用这个日志构建Ruby。

check struct members..
check libraries....
Use ActiveTcl libraries (if available).
Search tclConfig.sh and tkConfig.sh..............................
Fail to find [tclConfig.sh, tkConfig.sh]
Use X11 libraries (or use TK_XINCLUDES/TK_XLIBSW information on tkConfig.sh).
Warning:: cannot find X11 library. tcltklib will not be compiled (tcltklib is disabled on your Ruby. That is, Ruby/Tk will not work). Please check configure options. If your Tcl/Tk don't require X11, please try --without-X11.
Can't find X11 libraries. 
So, can't make tcltklib.so which is required by Ruby/Tk.
Failed to configure tk. It will not be installed.
Failed to configure tk/tkutil. It will not be installed.
configuring zlib
make[1]: Entering directory `/tmp/ruby-build.20160522033606.7696/ruby-2.3.1'
make -C ext/digest/sha2 -w --jobserver-fds=6,7 -j V= realclean
make[2]: Entering directory `/tmp/ruby-build.20160522033606.7696/ruby-2.3.1/ext/digest/sha2'
Makefile:39: *** missing separator.  Stop.
make[2]: Leaving directory `/tmp/ruby-build.20160522033606.7696/ruby-2.3.1/ext/digest/sha2'
make[1]: *** [ext/digest/sha2/realclean] Error 2
make[1]: Leaving directory `/tmp/ruby-build.20160522033606.7696/ruby-2.3.1'
make: *** [build-ext] Error 2

这是我安装的软件包列表

libx11-data/trusty,now 2:1.6.2-1ubuntu2 all [installed]
libx11-dev/trusty,now 2:1.6.2-1ubuntu2 amd64 [installed]
libx11-doc/trusty,now 2:1.6.2-1ubuntu2 all [installed,automatic]
libx11-xcb1/trusty,now 2:1.6.2-1ubuntu2 amd64 [installed,automatic]
libtk8.4/trusty,now 8.4.20-7 amd64 [installed,automatic]
libtcl8.4/trusty,now 8.4.20-7 amd64 [installed,automatic]

正如您所看到的,我安装了X11、tcl、tk,但我的系统无法检测到它们。我做错了吗?或者它只是一个bug?

如有任何帮助,我们将不胜感激。感谢您的阅读。

我的安装遵循本教程,前往那里获取最新更新:链接此处。

1.安装Ruby

Ruby的第一个依赖项:

sudo apt-get update
sudo apt-get install git-core curl zlib1g-dev build-essential libssl-dev libreadline-dev libyaml-dev libsqlite3-dev sqlite3 libxml2-dev libxslt1-dev libcurl4-openssl-dev software-properties-common libffi-dev

现在对于Ruby来说:有3种安装方式,每种方式都相互冲突,所以选择一种你认为最适合你的方式或我的建议:rbenv

使用rbenv(推荐)

cd
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
exec $SHELL
git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build
echo 'export PATH="$HOME/.rbenv/plugins/ruby-build/bin:$PATH"' >> ~/.bashrc
exec $SHELL
rbenv install 2.3.1
rbenv global 2.3.1
ruby -v

使用rvm

sudo apt-get install libgdbm-dev libncurses5-dev automake libtool bison libffi-dev
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
curl -sSL https://get.rvm.io | bash -s stable
source ~/.rvm/scripts/rvm
rvm install 2.3.1
rvm use 2.3.1 --default
ruby -v

来源

cd
wget http://ftp.ruby-lang.org/pub/ruby/2.3/ruby-2.3.1.tar.gz
tar -xzvf ruby-2.3.1.tar.gz
cd ruby-2.3.1/
./configure
make
sudo make install
ruby -v

安装Ruby后,安装Bundler

gem install bundler

2.安装Rails

首先你需要NodeJS:

curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
sudo apt-get install -y nodejs

然后安装导轨:

gem install rails -v 4.2.6

如果使用rbenv,则需要运行以下命令以使rails可执行:

rbenv rehash

既然已经安装了Rails,就可以运行Rails-v命令来确保所有东西都安装正确:

rails -v
# Rails 4.2.6

3.安装DB

MySQL:

您可以从Ubuntu存储库中的软件包安装MySQL服务器和客户端。作为安装过程的一部分,您将为root用户设置密码。这些信息将来会进入Rails应用程序的database.yml文件。

sudo apt-get install mysql-server mysql-client libmysqlclient-dev

PostgreSQL:

目前,一些错误阻止您正确安装Postgres,所以我现在推荐您使用MySQL。

sudo sh -c "echo 'deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main' > /etc/apt/sources.list.d/pgdg.list"
wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add -
sudo apt-get update
sudo apt-get install postgresql-common
sudo apt-get install postgresql-9.5 libpq-dev

Postgres安装不会为您设置用户,因此您需要按照以下步骤创建具有创建数据库权限的用户。请随意用您的用户名替换chris。

sudo -u postgres createuser chris -s
# If you would like to set a password for the user, you can do the following
sudo -u postgres psql
postgres=# password chris

最后步骤

现在确保事情向右而不是向左

#### If you want to use SQLite (not recommended)
rails new myapp
#### If you want to use MySQL
rails new myapp -d mysql
#### If you want to use Postgres
# Note that this will expect a postgres user with the same username
# as your app, you may need to edit config/database.yml to match the
# user you created earlier
rails new myapp -d postgresql
# Move into the application directory
cd myapp
# If you setup MySQL or Postgres with a username/password, modify the
# config/database.yml file to contain the username/password that you specified
# Create the database
rake db:create
rails server

确保已更新Windows安装-运行"Windows 10 Upgrade Assistant"并安装Windows 10 Creators Update。在此之前的任何东西都充满了错误,我的rbenvRails安装都无法工作。如果在将Windows更新为CU后仍然无法工作,那么您可以始终使用rvm。无论如何,你可能需要重新安装所有东西,因为如果你使用WSL,建议你重新安装/升级Ubuntu。

最新更新