【问题标题】:Installing Ruby 2.3 on WSL (Windows Subsystem for Linux)在 WSL(Linux 的 Windows 子系统)上安装 Ruby 2.3
【发布时间】:2020-10-09 03:23:10
【问题描述】:

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

我正在尝试通过 Windows 子系统 for Linux 又名 Ubuntu 在 Windows 10 上使用 rbenv 在我的系统上安装 Ruby 2.3.0。我遵循 this 指令(但不是 100% 完全正确)。但每次我尝试,它都无法使用此日志构建 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,但我的系统无法检测到它们。 我做错了吗?还是只是一个错误?

任何帮助将不胜感激。感谢您的阅读。

【问题讨论】:

    标签: ruby windows rbenv windows-subsystem-for-linux


    【解决方案1】:

    我的安装遵循本教程,去那里获取最新更新:link here。

    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。安装数据库

    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
    

    【讨论】:

    • 我建议详细记录 rbenv 和 rvm 安装步骤。许多人报告说安装时间非常长达 30 分钟或更长时间。详细日志记录可以让您知道进程没有挂起。
    • 这不起作用它说E: Package 'python-software-properties' has no installation candidate
    • 好像改成了software-properties-common。感谢您的通知。更新了!
    • 非常好的答案,但请注意,问题与 Rails 无关。人们确实在没有它的情况下使用 Ruby。
    【解决方案2】:

    确保您已更新您的 Windows 安装 - 运行“Windows 10 升级助手”并安装 Windows 10 创意者更新。在此之前的任何东西都充满了错误,我的rbenv Rails 安装无法正常工作。如果在将 Windows 更新到 CU 后仍然无法正常工作,那么您始终可以使用 rvm 代替。无论如何,您可能需要重新安装所有内容,如果您使用 WSL,建议您重新安装/升级 Ubuntu。

    【讨论】:

      猜你喜欢
      • 2019-07-03
      • 2020-09-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-05-05
      • 2016-07-27
      • 1970-01-01
      相关资源
      最近更新 更多