
Я прошёл несколько руководств по установке ruby 2.1.* В моей системе сейчас установлен ruby 1.9.3, и я хочу последнюю версию. Я следую следующему руководству по установке отсюда:http://ryanbigg.com/2014/10/ubuntu-ruby-ruby-install-chruby-and-you//
На данный момент у меня получились следующие команды:
sudo apt-get install build-essential
wget -O ruby-install-0.5.0.tar.gz \
https://github.com/postmodern/ruby-install/archive/v0.5.0.tar.gz
tar -xzvf ruby-install-0.5.0.tar.gz
cd ruby-install-0.5.0/
sudo make install
ruby-install ruby 2.1.3
DEPENDENCY ERRORS
Как только я добрался до ruby-install ruby 2.1.3, я увидел следующее:
>>> Installing ruby 2.1.3 into /opt/rubies/ruby-2.1.3 ...
>>> Installing dependencies for ruby 2.1.3 ...
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package libyaml-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
Package libgdbm-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
Package libncurses5-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
Package libffi-dev is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source
E: Package 'libyaml-dev' has no installation candidate
E: Package 'libgdbm-dev' has no installation candidate
E: Unable to locate package libreadline-dev
E: Package 'libncurses5-dev' has no installation candidate
E: Package 'libffi-dev' has no installation candidate
!!! Installing dependencies failed!
Хорошо, он говорит, что у меня отсутствуют все эти зависимости. Как мне просто заставить их установить его, чтобы он перестал жаловаться? Почему нет команды, которая просто говорит: «хорошо, у вас отсутствуют эти зависимости, позвольте мне установить их для вас (да/нет)?
решение1
Ниже приведены команды для установки Ruby 2.1 в системе на базе Debian согласно официальному руководству.Рубиновый Dockerfile. Кстати, вы можете избежать этой проблемы, используя Docker.
# Update your system packages
apt-get update
# Install some basic dependencies
# Few of thems aren't needed but won't hurt anyway
apt-get install -y \
autoconf \
build-essential \
imagemagick \
libbz2-dev \
libcurl4-openssl-dev \
libevent-dev \
libffi-dev \
libglib2.0-dev \
libjpeg-dev \
libmagickcore-dev \
libmagickwand-dev \
libmysqlclient-dev \
libncurses-dev \
libpq-dev \
libreadline-dev \
libsqlite3-dev \
libssl-dev \
libxml2-dev \
libxslt-dev \
libyaml-dev \
zlib1g-dev \
apt-get install -y curl procps
RUBY_MAJOR="2.1"
RUBY_VERSION="2.1.5"
apt-get install -y bison ruby
mkdir -p /usr/src/ruby
curl -SL "http://cache.ruby-lang.org/pub/ruby/$RUBY_MAJOR/ruby-$RUBY_VERSION.tar.bz2" | tar -xjC /usr/src/ruby --strip-components=1
cd /usr/src/ruby
autoconf
./configure --disable-install-doc
make -j"$(nproc)"
apt-get purge -y --auto-remove bison ruby
make install
rm -r /usr/src/ruby
GEM_HOME="/usr/local/bundle"
PATH=$PATH:$GEM_HOME/bin
gem install bundler
bundle config --global path "$GEM_HOME"
bundle config --global bin "$GEM_HOME/bin"
Как вы можете себе представить, некоторые команды необходимо вводить в режиме sudo.
На этом этапе у вас должен быть установлен Ruby 2.1.5. Для проверки введите ruby -v
.
ПРИМЕЧАНИЕ: Я не тестировал это, поэтому не стесняйтесь оставлять отзывы.