タケユー・ウェブ日報

Ruby on Rails や Flutter といったWeb・モバイルアプリ技術を武器にお客様のビジネス立ち上げを支援する、タケユー・ウェブ株式会社の技術ブログです。

OpsWorks (Chef11) で ERROR: cannot load such file -- /var/lib/aws/opsworks/cache.stage2/cookbooks/compat_resource/files/lib/compat_resource/gemspec

いつも通りアプリのデプロイをしようとしたらエラー。

[2016-05-18T22:55:06+00:00] INFO: Loading cookbooks [apache2, apt, ark, build-essential, chef-sugar, chef_handler, compat_resource, curl, dependencies, deploy, gem_support, homebrew, mingw, mod_php5_apache2, mysql, newrelic, nginx, nodejs, opsworks, opsworks_agent_monit, opsworks_aws_flow_ruby, opsworks_bundler, opsworks_cleanup, opsworks_commons, opsworks_initial_setup, opsworks_java, opsworks_nodejs, opsworks_postgresql, opsworks_route53, opsworks_rubygems, opsworks_stack_state_sync, packages, passenger_apache2, php, python, rails, route53, ruby, s3_file, scm_helper, seven_zip, ssh_users, td-agent, test_suite, unicorn, windows, xml, yum, yum-epel]
 
================================================================================
Recipe Compile Error in /var/lib/aws/opsworks/cache.stage2/cookbooks/compat_resource/libraries/autoload.rb
================================================================================
 
 
LoadError
---------
cannot load such file -- /var/lib/aws/opsworks/cache.stage2/cookbooks/compat_resource/files/lib/compat_resource/gemspec
 
 
Cookbook Trace:
---------------
/var/lib/aws/opsworks/cache.stage2/cookbooks/compat_resource/libraries/autoload.rb:15:in `require_relative'
/var/lib/aws/opsworks/cache.stage2/cookbooks/compat_resource/libraries/autoload.rb:15:in `<top (required)>'
 
 
Relevant File Content:
----------------------
/var/lib/aws/opsworks/cache.stage2/cookbooks/compat_resource/libraries/autoload.rb:
 
8:    cookbook_version = $1
9:  
10:    if CompatResource::VERSION != cookbook_version
11:      raise "compat_resource gem version #{CompatResource::VERSION} was loaded as a gem before compat_resource cookbook version #{cookbook_version} was loaded. To remedy this, either update the cookbook to the gem version, update the gem to the cookbook version, or uninstall / stop loading the gem so early."
12:    end
13:  else
14:    # The gem is not already activated, so activate the cookbook.
15>>   require_relative '../files/lib/compat_resource/gemspec'
16:    CompatResource::GEMSPEC.activate
17:  end
18:  
19:  require 'compat_resource'
20:  
 
 
[2016-05-18T22:55:06+00:00] ERROR: Running exception handlers
[2016-05-18T22:55:06+00:00] ERROR: Exception handlers complete
[2016-05-18T22:55:06+00:00] FATAL: Stacktrace dumped to /var/lib/aws/opsworks/cache.stage2/chef-stacktrace.out
[2016-05-18T22:55:06+00:00] ERROR: cannot load such file -- /var/lib/aws/opsworks/cache.stage2/cookbooks/compat_resource/files/lib/compat_resource/gemspec
[2016-05-18T22:55:06+00:00] FATAL: Chef::Exceptions::ChildConvergeError: Chef run process exited unsuccessfully (exit code 1)

解決までの経過まとめ

発覚

  • compat_resource という Chef12用のクックブックを使おうとしているみたい。ほかのコミュニティクックブックの依存がかわった?

Chef12に

Chef11のまましのぐには

  • 動いていたときと動かなくなったときの依存クックブックを比較(OpsWorksのログをみる)
  • Installing build-essential (4.0.0)これぽい
    • 依存クックブックの依存クックブック
    • 4.0.0からChef12以降専用になった
  • Berksfileで動いていたときのバージョン(3.2.0)に固定
cookbook 'build-essential', '3.2.0'

再デプロイ

古いバージョン固定なので、いずれ腐ってきてどうにもならなくなったときつらそうだが、当面はこれで・・・

Pencil高いけどいいですよ。

いいですよ。

trendy.nikkeibp.co.jp

絵描きでなくても使えます。

ExcelPowerPoint仕様書が送られてきて見積もり依頼ってことがあるのですが、紙に出して手書きしないと頭はいってこないので、これまでは印刷して手書きしてました。

それがiPad Pro(大きい方)買ってからは、iOS版のOfficeを立ち上げ、OneDriveに置いてる仕様書を開いて、その上に直接マーカーで引いたり、メモ書きしながら頭に入れたり実装を考えて、PCで開いたエクセルで工数を見積もる・・・という感じで活用しています。

あと、読書メモとか、設計のメモ(クラス図とかシーケンス図、フローチャートとか)をOneNote手書き、管理しています。

Officeでメモ書きす文にはPC(VAIOZ)のタブレットモードも悪くないですけど、ペンの滑りと持ちやすさでPencilに軍配が上がる感じです。あとやっぱりPCを変形させたりとかは、めんどくさい。

よってPencilいいですよ。高いけど。(大事なことなので二度言いました)

Amazon Linux 2015.09 に capybara-webkit gem をインストールしてRubyでブラウジングする

Installing gems

capybara-webkit gem

gem入れるまでがツラい。→ AmazonLinux 2015.09 に Qt5 WebKit をインストール

sudo ln -s /usr/lib64/qt5/bin/qmake /usr/bin/qmake 
sudo gem install capybara-webkit --no-ri --no-rdoc
Building native extensions.  This could take a while...
Successfully installed capybara-webkit-1.8.0
1 gem installed

headless gem

sudo yum install xorg-x11-server-Xvfb
sudo gem install headless --no-ri --no-rdoc
Fetching: headless-2.2.3.gem (100%)
Successfully installed headless-2.2.3
1 gem installed

RubyでHTMLやスクリーンショットを取得

require 'capybara-webkit'
require 'headless'

Capybara::Webkit.configure do |config|
  config.block_unknown_urls
  config.allow_url('*')
end

client = Capybara::Session.new(:webkit)
headless = Headless.new
headless.start
begin
  client.visit('http://www.google.com/')
  p client.status_code # => 200
  p client.html        # => "<!DOCTYPE html><html itemscope=\"\" itemtype=\"http://schema.org/WebPage\" ...
  client.save_screenshot('screenshot.png')
ensure
  headless.destroy
end

f:id:uzuki05:20160325135757p:plain

AmazonLinux 2015.09 に Qt5 WebKit をインストール

まとめ

sudo yum install ftp://ftp.riken.jp/Linux/centos/6/os/x86_64/Packages/geoclue-0.11.1.1-0.13.20091026git73b6729.el6.x86_64.rpm \
ftp://ftp.riken.jp/Linux/centos/6/os/x86_64/Packages/NetworkManager-glib-0.8.1-99.el6.x86_64.rpm \
ftp://ftp.riken.jp/Linux/centos/6/os/x86_64/Packages/libsoup-2.34.3-3.el6_6.x86_64.rpm \
ftp://ftp.riken.jp/Linux/centos/6/os/x86_64/Packages/gnome-keyring-2.28.2-8.el6_3.x86_64.rpm \
ftp://ftp.riken.jp/Linux/centos/6/os/x86_64/Packages/GConf2-2.28.0-6.el6.x86_64.rpm \
ftp://ftp.riken.jp/Linux/centos/6/os/x86_64/Packages/ORBit2-2.14.17-5.el6.x86_64.rpm \
ftp://ftp.riken.jp/Linux/centos/6/os/x86_64/Packages/polkit-0.96-11.el6.x86_64.rpm \
ftp://ftp.riken.jp/Linux/centos/6/os/x86_64/Packages/ConsoleKit-0.4.1-3.el6.x86_64.rpm \
ftp://ftp.riken.jp/Linux/centos/6/os/x86_64/Packages/ConsoleKit-libs-0.4.1-3.el6.x86_64.rpm \
ftp://ftp.riken.jp/Linux/centos/6/os/x86_64/Packages/polkit-0.96-11.el6.x86_64.rpm \
ftp://ftp.riken.jp/Linux/centos/6/os/x86_64/Packages/ConsoleKit-0.4.1-3.el6.x86_64.rpm \
ftp://ftp.riken.jp/Linux/centos/6/os/x86_64/Packages/polkit-0.96-11.el6.x86_64.rpm \
ftp://ftp.riken.jp/Linux/centos/6/os/x86_64/Packages/eggdbus-0.6-3.el6.x86_64.rpm \
ftp://ftp.riken.jp/Linux/centos/6/os/x86_64/Packages/glib-networking-2.28.6.1-2.2.el6.x86_64.rpm \
ftp://ftp.riken.jp/Linux/centos/6/os/x86_64/Packages/gtk2-2.24.23-6.el6.x86_64.rpm \
ftp://ftp.riken.jp/Linux/centos/6/os/x86_64/Packages/atk-1.30.0-1.el6.x86_64.rpm \
ftp://ftp.riken.jp/Linux/centos/6/os/x86_64/Packages/hicolor-icon-theme-0.11-1.1.el6.noarch.rpm \
ftp://ftp.riken.jp/Linux/centos/6/os/x86_64/Packages/gdk-pixbuf2-2.24.1-5.el6.x86_64.rpm 
sudo yum install qt5-qtwebkit-devel

はじめに

yumqt5-qtwebkit-develがあったので簡単かと思いきや・・・

$ sudo yum install qt5-qtwebkit-devel
(snip)
--> Finished Dependency Resolution
Error: Package: qt5-qtlocation-5.5.1-2.el6.x86_64 (epel)
           Requires: libgeoclue.so.0()(64bit)
Error: Package: qt5-qtbase-gui-5.5.1-11.el6.x86_64 (epel)
           Requires: libgtk-x11-2.0.so.0()(64bit)
Error: Package: qt5-qtbase-gui-5.5.1-11.el6.x86_64 (epel)
           Requires: libgdk-x11-2.0.so.0()(64bit)
Error: Package: qt5-qtbase-gui-5.5.1-11.el6.x86_64 (epel)
           Requires: libatk-1.0.so.0()(64bit)
Error: Package: qt5-qtbase-gui-5.5.1-11.el6.x86_64 (epel)
           Requires: libgdk_pixbuf-2.0.so.0()(64bit)
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

Amazon Linux AMI yum リポジトリには足りないパッケージがあるようで、うまくいきませんでした。

続きを読む

(解決)Windows10でKaspersky Internet Security 2016の更新をして再起動したら、Windowsが起動しなくなった件について

SYSTEM_THREAD_EXCEPTION_NOT_HANDLED

と表示され、セーフモードでの起動すらできなくなってしまった。自動修復も無理。

ググってたらそれっぽいものが

Kaspersky Lab Forum > Upgraded to KIS 2016 on Win 10 = BSOD - System Thread Exception Not Handled

f:id:uzuki05:20160309104708p:plain

ダウンロードはこのへん  https://support.kaspersky.co.jp/kis2016

マンドプロンプトを開いて

C:\
cd C:\Windows\System32\drivers
rename cm_km_w.sys cm_km_w.bak

で再起動すると、起動した。

その後Kaspersky Internet Security 2016を一度アンインストール、2016のインストーラをダウンロードしてきて再インストールした。

クラウドソーシングdisり記事がバズってたので、便乗して僕の感想を書き殴る。

なんかクラウドソーシングdisりがバズってた。

crapp.hatenablog.com

僕はクラウドワークスではなくLancersですが、二桁の仕事はしています。

はじめに、僕のスタンスをはっきりさせておくと、初期の実績積みには役に立ったのでその点感謝はしているのの、やはりフリーのエンジニアがそれで食べていくのはキツイと思うので、もう使うことはないだろう、というところです。

過去にそれが切っ掛けでクラウドソーシングを活用するフリーエンジニアとして取材をして頂いたこともありますし、上記の通り感謝はしているのでとても心苦しいのですが、良くないと感じている部分もあるので、この際はっきりと、感想を書き殴っていきます。

以下、元記事を読みながら思ったことです。

続きを読む