Hatena::Grouptech

id:rx7(@namikawa)の技術メモ このページをアンテナに追加 RSSフィード

過去記事一覧 | Main Blog (元RX-7乗りの適当な日々) | SBM (id:rx7のBookmark)

2016/02/16

Ubuntu 14.04 で Ruby 2.0 系を使う

| Ubuntu 14.04 で Ruby 2.0 系を使う - id:rx7(@namikawa)の技術メモ を含むブックマーク はてなブックマーク - Ubuntu 14.04 で Ruby 2.0 系を使う - id:rx7(@namikawa)の技術メモ Ubuntu 14.04 で Ruby 2.0 系を使う - id:rx7(@namikawa)の技術メモ のブックマークコメント

Ubuntu 14.04 (Trusty Tahr) で、Ruby 2.0系を使いたいので、

$ sudo apt-get install ruby2.0

とすると、Ruby 1.9 系が一緒にインストールされる上に、デフォルトの ruby コマンドが1.9系を指している有様。

$ ruby -v
ruby 1.9.3p484 (2013-11-22 revision 43786) [x86_64-linux]

で、ちょっと調べたのだけど、 /usr/bin/ruby 等がシンボリックリンクで ruby1.9.1 を直接指しているのと、

ruby-switchパッケージがなくなってしまっているので、結局シンボリックリンクを書き換える方法しかなさそうとのこと。

よって、以下コマンドで対応。

$ for prog in /usr/bin/{erb,gem,testrb,irb,rake,ruby,ri,rdoc}; do sudo ln -sf ${prog}2.0 $prog; done

via. http://ayucat.hatenablog.com/entry/2014/07/21/115416

$ ruby -v
ruby 2.0.0p384 (2014-01-12) [x86_64-linux-gnu]
トラックバック - http://tech.g.hatena.ne.jp/rx7/20160216

2016/02/15

"extconf.rb:104:in `makemakefiles': unhandled exception"

| "extconf.rb:104:in `makemakefiles': unhandled exception" - id:rx7(@namikawa)の技術メモ を含むブックマーク はてなブックマーク - "extconf.rb:104:in `makemakefiles': unhandled exception" - id:rx7(@namikawa)の技術メモ "extconf.rb:104:in `makemakefiles': unhandled exception" - id:rx7(@namikawa)の技術メモ のブックマークコメント


$ sudo gem install chef
Building native extensions.  This could take a while...
ERROR:  Error installing chef:
	ERROR: Failed to build gem native extension.

    /usr/bin/ruby2.0 extconf.rb
creating Makefile
/var/lib/gems/2.0.0/gems/libyajl2-1.2.0/ext/libyajl2
extconf.rb:104:in `makemakefiles': unhandled exception
	from extconf.rb:138:in `<main>'


Gem files will remain installed in /var/lib/gems/2.0.0/gems/libyajl2-1.2.0 for inspection.
Results logged to /var/lib/gems/2.0.0/gems/libyajl2-1.2.0/ext/libyajl2/gem_make.out

Chefをgemからインストールしようとすると、上記エラーが出た。

該当箇所は、makeを叩いている場所だったので、インストールされるているか確認したら、入ってなかった・・・。

ということで、

$ sudo apt-get install gcc make

で解決。

トラックバック - http://tech.g.hatena.ne.jp/rx7/20160215

2015/07/31

net-ssh requires Ruby version >= 2.0.

| net-ssh requires Ruby version >= 2.0. - id:rx7(@namikawa)の技術メモ を含むブックマーク はてなブックマーク - net-ssh requires Ruby version >= 2.0. - id:rx7(@namikawa)の技術メモ net-ssh requires Ruby version >= 2.0. - id:rx7(@namikawa)の技術メモ のブックマークコメント

# gem install capistrano
Fetching: net-ssh-3.0.1.gem (100%)
ERROR:  Error installing capistrano:
        net-ssh requires Ruby version >= 2.0.

最新の Capistrano をインストールしようとしたら、Ruby 1.9系だと最新の net-ssh が使えない、と。

まー、そうですよねーーー。


# gem install net-ssh -v 2.9.2
Fetching: net-ssh-2.9.2.gem (100%)
Successfully installed net-ssh-2.9.2
1 gem installed


# gem install capistrano

・・・・・省略・・・・・

Successfully installed capistrano-3.4.0
6 gems installed

ということで、下記のページで net-ssh の全バージョンを新しい順から、Ruby 1.9 で使えそうなものを入れた。

トラックバック - http://tech.g.hatena.ne.jp/rx7/20150731

2012/01/27

CentOS 6.2 にchef-clientをインストール

| CentOS 6.2 にchef-clientをインストール - id:rx7(@namikawa)の技術メモ を含むブックマーク はてなブックマーク - CentOS 6.2 にchef-clientをインストール - id:rx7(@namikawa)の技術メモ CentOS 6.2 にchef-clientをインストール - id:rx7(@namikawa)の技術メモ のブックマークコメント

特に躓く事もなく。

# cat /etc/redhat-release
CentOS release 6.2 (Final)

もともと、chef-clientはCentOS 5系でも、それほど苦労せずに入るのですが、

Rubyのバージョンがデフォルトで1.8.7になっているので、外部のRPMレポジトリを使わなくてもすむようになってた。

# yum install ruby ruby-devel ruby-ri ruby-rdoc ruby-static rubygems
# gem install chef

↑の2コマンドでインストールは終了。

# chef-client -v
Chef: 0.10.8

この通り。

トラックバック - http://tech.g.hatena.ne.jp/rx7/20120127

2011/11/30

Rubyのインストール時のオプションとかを表示する方法

| Rubyのインストール時のオプションとかを表示する方法 - id:rx7(@namikawa)の技術メモ を含むブックマーク はてなブックマーク - Rubyのインストール時のオプションとかを表示する方法 - id:rx7(@namikawa)の技術メモ Rubyのインストール時のオプションとかを表示する方法 - id:rx7(@namikawa)の技術メモ のブックマークコメント

$ ruby -rrbconfig -e 'c=Config::CONFIG;c.keys.sort.each{|k|puts "#{k}: #{c[k]}"}'

で、見れる。これは便利。メモメモ。


↓はサンプルとして、apt(Ubuntu)でインストールしたものですけど(-_-;)

$ ruby -rrbconfig -e 'c=Config::CONFIG;c.keys.sort.each{|k|puts "#{k}: #{c[k]}"}'
ALLOCA: 
AR: ar
ARCHFILE: 
ARCH_FLAG: 
AS: as
ASFLAGS: 
CC: gcc
CCDLFLAGS:  -fPIC
CFLAGS: -fno-strict-aliasing -g -g -O2  -fPIC  
COMMON_HEADERS: 
COMMON_LIBS: 
COMMON_MACROS: 
CP: cp
CPP: gcc -E
CPPFLAGS:  -D_FILE_OFFSET_BITS=64 
CPPOUTFILE: -o conftest.i
DEFS: -D_FILE_OFFSET_BITS=64
DESTDIR: 
DLDFLAGS: 
DLDLIBS:  -lc
DLEXT: so
DLEXT2: 
DLLWRAP: 
ECHO_C: 
ECHO_N: -n
ECHO_T: 
EGREP: /bin/grep -E
ENABLE_SHARED: yes
EXEEXT: 
EXPORT_PREFIX: 
EXTOUT: .ext
EXTSTATIC: 
GNU_LD: yes
GREP: /bin/grep
INSTALL: /usr/bin/install -c
INSTALL_DATA: /usr/bin/install -c -m 644
INSTALL_PROGRAM: /usr/bin/install -c
INSTALL_SCRIPT: /usr/bin/install -c
LDFLAGS: -L. -Wl,-Bsymbolic-functions -rdynamic -Wl,-export-dynamic
LDSHARED: gcc -shared
LIBEXT: a
LIBPATHENV: LD_LIBRARY_PATH
LIBPATHFLAG:  -L%s
LIBRUBY: libruby1.8.so.1.8.7
LIBRUBYARG: -lruby1.8
LIBRUBYARG_SHARED: -lruby1.8
LIBRUBYARG_STATIC: -lruby1.8-static
LIBRUBY_A: libruby1.8-static.a
LIBRUBY_ALIASES: libruby1.8.so.1.8 libruby1.8.so
LIBRUBY_DLDFLAGS: -Wl,-soname,libruby1.8.so.1.8
LIBRUBY_LDSHARED: gcc -shared
LIBRUBY_SO: libruby1.8.so.1.8.7
LIBS: -lpthread -lrt -ldl -lcrypt -lm 
LINK_SO: 
LN_S: ln -s
MAINLIBS: 
MAJOR: 1
MAKEDIRS: mkdir -p
MAKEFILES: Makefile
MANTYPE: doc
MINOR: 8
NM: 
NROFF: /usr/bin/nroff
OBJDUMP: 
OBJEXT: o
OUTFLAG: -o 
PACKAGE_BUGREPORT: 
PACKAGE_NAME: 
PACKAGE_STRING: 
PACKAGE_TARNAME: 
PACKAGE_URL: 
PACKAGE_VERSION: 
PATH_SEPARATOR: :
PREP: miniruby
RANLIB: ranlib
RDOCTARGET: 
RM: rm -f
RPATHFLAG: 
RUBYW_INSTALL_NAME: 
RUBY_INSTALL_NAME: ruby1.8
RUBY_SO_NAME: ruby1.8
SET_MAKE: 
SHELL: /bin/bash
SOLIBS: -lpthread -lrt -ldl -lcrypt -lm 
STATIC: 
STRIP: strip -S -x
TEENY: 7
TRY_LINK: 
WINDRES: 
YACC: bison -y
YFLAGS: 
arch: i686-linux
archdir: /usr/lib/ruby/1.8/i686-linux
bindir: /usr/bin
build: i686-pc-linux-gnu
build_alias: i686-linux-gnu
build_cpu: i686
build_os: linux-gnu
build_vendor: pc
cflags:  
configure_args:  '--build=i686-linux-gnu' '--prefix=/usr' '--includedir=/usr/include' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--sysconfdir=/etc' '--localstatedir=/var' '--libexecdir=/usr/lib/ruby1.8' '--disable-maintainer-mode' '--disable-dependency-tracking' '--disable-silent-rules' '--srcdir=.' '--enable-frame-address' '--with-extra-site-search-path=/usr/local/lib/site_ruby/1.8/i486-linux' '--with-extra-search-path=/usr/lib/ruby/1.8/i486-linux' '--program-suffix=1.8' '--enable-pthread' '--enable-shared' '--enable-ipv6' '--with-lookup-order-hack=INET' '--disable-rpath' '--disable-install-doc' '--with-sitedir=/usr/local/lib/site_ruby' '--with-default-kcode=none' '--with-dbm-type=gdbm_compat' '--with-tklib=tk8.4' '--with-tcllib=tcl8.4' '--with-tcl-include=/usr/include/tcl8.4' '--with-bundled-sha1' '--with-bundled-md5' '--with-bundled-rmd160' 'build_alias=i686-linux-gnu' 'CFLAGS=-fno-strict-aliasing -g -g -O2' 'LDFLAGS=-Wl,-Bsymbolic-functions' 'CPPFLAGS='
cppflags: 
datadir: /usr/share
datarootdir: /usr/share
debugflags: 
docdir: /usr/share/doc/$(PACKAGE)
dvidir: /usr/share/doc/$(PACKAGE)
exec_prefix: /usr
host: i686-pc-linux-gnu
host_alias: 
host_cpu: i686
host_os: linux-gnu
host_vendor: pc
htmldir: /usr/share/doc/$(PACKAGE)
includedir: /usr/include
infodir: /usr/share/info
libdir: /usr/lib
libexecdir: /usr/lib/ruby1.8
localedir: /usr/share/locale
localstatedir: /var
mandir: /usr/share/man
oldincludedir: /usr/include
optflags: 
pdfdir: /usr/share/doc/$(PACKAGE)
prefix: /usr
psdir: /usr/share/doc/$(PACKAGE)
ruby_install_name: ruby1.8
ruby_version: 1.8
rubylibdir: /usr/lib/ruby/1.8
rubyw_install_name: 
sbindir: /usr/sbin
setup: Setup
sharedstatedir: /usr/com
sitearch: i686-linux
sitearchdir: /usr/local/lib/site_ruby/1.8/i686-linux
sitedir: /usr/local/lib/site_ruby
sitelibdir: /usr/local/lib/site_ruby/1.8
sysconfdir: /etc
target: i686-pc-linux-gnu
target_alias: 
target_cpu: i686
target_os: linux
target_vendor: pc
topdir: /usr/lib/ruby/1.8/i686-linux
vendorarchdir: /usr/lib/ruby/vendor_ruby/1.8/i686-linux
vendordir: /usr/lib/ruby/vendor_ruby
vendorlibdir: /usr/lib/ruby/vendor_ruby/1.8

参考

トラックバック - http://tech.g.hatena.ne.jp/rx7/20111130