itamaeを実行するとエラー

症状

インストールしたitamaeが以下のようなエラーで実行できない。

[vagrant@localhost ~]$ itamae -h
Traceback (most recent call last):
        10: from /opt/rbenv/versions/2.6.6/bin/itamae:23:in `<main>'
         9: from /opt/rbenv/versions/2.6.6/bin/itamae:23:in `load'
         8: from /opt/rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/itamae-1.11.1/bin/itamae:4:in `<top (required)>'
         7: from /opt/rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/thor-1.1.0/lib/thor/base.rb:485:in `start'
         6: from /opt/rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/thor-1.1.0/lib/thor.rb:392:in `dispatch'
         5: from /opt/rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/thor-1.1.0/lib/thor/invocation.rb:127:in `invoke_command'
         4: from /opt/rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/thor-1.1.0/lib/thor/command.rb:27:in `run'
         3: from /opt/rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/thor-1.1.0/lib/thor.rb:513:in `help'
         2: from /opt/rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/thor-1.1.0/lib/thor.rb:205:in `help'
         1: from /opt/rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/thor-1.1.0/lib/thor/shell/basic.rb:97:in `say'
/opt/rbenv/versions/2.6.6/lib/ruby/gems/2.6.0/gems/thor-1.1.0/lib/thor/shell/basic.rb:393:in `quiet?': private method `options' called for #<Itamae::CLI:0x000000000279d090> (NoMethodError)
Did you mean?  options=

対応

thorのバージョンを1.1.0→1.0.1に下げる。

[vagrant@localhost ~]$ gem install thor --version="1.0.1" 
Fetching thor-1.0.1.gem
Successfully installed thor-1.0.1
Parsing documentation for thor-1.0.1
Installing ri documentation for thor-1.0.1
Done installing documentation for thor after 1 seconds
1 gem installed
[vagrant@localhost ~]$ gem uninstall thor --version="1.1.0" 
Successfully uninstalled thor-1.1.0
[vagrant@localhost ~]$ thor -v
Thor 1.0.1

確認

[vagrant@localhost ~]$ itamae -h
Commands:
  itamae destroy [cookbook|role] [NAME]   # Undo role or cookbook (short-cut alias: "d")
  itamae docker RECIPE [RECIPE...]        # Create Docker image
  itamae generate [cookbook|role] [NAME]  # Initialize role or cookbook (short-cut alias: "g")
  itamae help [COMMAND]                   # Describe available commands or one specific command
  itamae init NAME                        # Create a new project
  itamae jail RECIPE [RECIPE...]          # Run Itamae in jail
  itamae local RECIPE [RECIPE...]         # Run Itamae locally
  itamae ssh RECIPE [RECIPE...]           # Run Itamae via ssh
  itamae version                          # Print version

この症状に遭遇したのは2021/01/28。
thorの更新日を見てると最近更新の1.1.0が2021/1/20、前回が2019年12月17日。
ネットに情報が無いのはまだ日が経っていないためと思われる。 rubygems.org

参考

kawakubox.hatenablog.com

Windows環境でvagrant-awsプラグインをインストールできない

以下のようなエラーが出てインストールできない。

症状

PS C:\Users\xxx\Desktop\vagrant-aws> vagrant plugin install vagrant-aws   
Installing the 'vagrant-aws' plugin. This can take a few minutes... 
Fetching iniparse-1.5.0.gem 
Fetching xmlrpc-0.3.1.gem   
Fetching formatador-0.2.5.gem   
Fetching excon-0.78.1.gem   
Fetching fog-core-1.45.0.gem    
Fetching racc-1.5.2.gem 
Building native extensions. This could take a while...  
Fetching nokogiri-1.11.1-x64-mingw32.gem    
Fetching fog-xml-0.1.3.gem  
Fetching fog-xenserver-1.0.0.gem    
Fetching optimist-3.0.1.gem 
Fetching rbvmomi-2.4.1.gem  
Fetching fog-vsphere-3.5.0.gem  
Fetching fog-voxel-0.1.0.gem    
Fetching CFPropertyList-2.3.6.gem   
Fetching fission-0.5.0.gem  
Fetching fog-vmfusion-0.1.0.gem 
Fetching fog-terremark-0.1.0.gem    
Fetching fog-json-1.2.0.gem 
Fetching fog-storm_on_demand-0.1.1.gem  
Fetching fog-softlayer-1.1.4.gem    
Fetching fog-serverlove-0.1.2.gem   
Fetching fog-sakuracloud-1.7.5.gem  
Fetching fog-riakcs-0.1.0.gem   
Fetching fog-radosgw-0.0.5.gem  
Fetching ipaddress-0.8.3.gem    
Fetching fog-rackspace-0.1.6.gem    
Fetching fog-profitbricks-4.1.1.gem 
Fetching fog-powerdns-0.2.0.gem 
Fetching tzinfo-2.0.4.gem   
Fetching zeitwerk-2.4.2.gem 
Fetching minitest-5.14.3.gem    
Fetching activesupport-6.1.1.gem    
Fetching ovirt-engine-sdk-4.4.0.gem 
Building native extensions. This could take a while...  
Vagrant failed to properly resolve required dependencies. These 
errors can commonly be caused by misconfigured plugin installations 
or transient network issues. The reported error is: 
    
ERROR: Failed to build gem native extension.    
    
    current directory: C:/Users/xxx/.vagrant.d/gems/2.6.6/gems/ovirt-engine-sdk-4.4.0/ext/ovirtsdk4c    
C:/HashiCorp/Vagrant/embedded/mingw64/bin/ruby.exe -I C:/HashiCorp/Vagrant/embedded/mingw64/lib/ruby/2.6.0 -r ./siteconf20210125-3652-1ss2kbp.rb extconf.rb 
checking for xml2-config... no  
*** extconf.rb failed ***   
Could not create Makefile due to some reason, probably lack of necessary    
libraries and/or headers.  Check the mkmf.log file for more details.  You may   
need configuration options. 
    
Provided configuration options: 
        --with-opt-dir  
        --without-opt-dir   
        --with-opt-include  
        --without-opt-include=${opt-dir}/include    
        --with-opt-lib  
        --without-opt-lib=${opt-dir}/lib    
        --with-make-prog    
        --without-make-prog 
        --srcdir=.  
        --curdir    
        --ruby=C:/HashiCorp/Vagrant/embedded/mingw64/bin/$(RUBY_BASE_NAME)  
        --with-libxml2-config   
        --without-libxml2-config    
        --with-pkg-config   
        --without-pkg-config    
extconf.rb:29:in `<main>': The "libxml2" package isn't available. (RuntimeError)  
    
To see why this extension failed to compile, please check the mkmf.log which can be found here: 
    
  C:/Users/xxx/.vagrant.d/gems/2.6.6/extensions/x64-mingw32/2.6.0/ovirt-engine-sdk-4.4.0/mkmf.log   
    
extconf failed, exit code 1 
    
Gem files will remain installed in C:/Users/xxx/.vagrant.d/gems/2.6.6/gems/ovirt-engine-sdk-4.4.0 for inspection.   
Results logged to C:/Users/xxx/.vagrant.d/gems/2.6.6/extensions/x64-mingw32/2.6.0/ovirt-engine-sdk-4.4.0/gem_make.out   

対応

修正プログラムのgemをダウンロード。
(この事例では C:\Users\xxx\Desktop\ に保存)

https://github.com/bdwyertech/vagrant-aws/releases/tag/v0.8.0-bdwyertech

vagrant-awsインストール。
("vagrant plugin install vagrant-aws"の代わりに実行)

vagrant plugin install C:\Users\xxx\Desktop\vagrant-aws-0.8.0.gem

参考

www.javaer101.com

WindowsとiPhoneの接続が頻繁に切断される

概要

WindowsPCにライトニングケーブルを接続してもすぐに切断されるためiPhoneのバックアップなどが行えない。

検索すると出てくる対処法については試行済みだが症状は変わらず。
iPhoneのOSバージョン最新
・異なるポートで接続
・純正のライトイニングケーブルを使用(新品)
・PCやiPhoneを再起動

対応

自分のケースでは、騙し騙しだがある程度の時間は接続状態を保てる方法を見つけた。
1.最初にPCとiPhoneを再起動
2.「デバイスに到達できません」等のエラーダイアログが出たらiPhoneをケーブルから外す
3.iPhone再起動後、PCにiPhoneを接続。

Wifiが切断される症状の改善

概要

古いノートPCのためかWifiの調子が悪く、GMailの画面を表示しているといつのまにかオフラインになっている。
WifiスイッチをOFF→ONにすると復旧する。
ネットワークサービスの再起動を定期的に行うことでWifi切断を復旧したい。

環境

ThinkPad X200s
LinuxMint

手順

$ vi /etc/crontab

*/5 * * * * root sudo systemctl restart NetworkManager 

ThinkPad X200s のキーボードレイアウト変更

概要

ThinkPad X200sで以下のキーが誤爆しやすい場所にあるため厄介。
・左カーソルの上のキー(XF86Back(戻る))
・右カーソルの上のキー(XF86Forward(進む))

左カーソルの上のキーにPgUp、右カーソルの上のキーにPgDnを割り当てたい。

環境

ThinkPad X200s
LinuxMint

手順

手順の簡略化のため設定ファイルを直接編集する。

$/usr/share/X11/xkb/symbols/inet
xkb_symbols "evdev" {
 :
// key <I166> { [ XF86Back ] };
key <I166> { [ Prior ] };
// key <I167> { [ XF86Forward ] };
key <I167> { [ Next ] };
 :

ログアウトした後でログインすると設定が反映される。

補足

どの設定ファイルが読み込まれているか確認した方法は以下。

$ setxkbmap -print
xkb_symbols { include "pc+jp+inet(evdev)+terminate(ctrl_alt_bksp)" };

/usr/share/X11/xkb/symbols/inet の evdev に XF86Back/XF86Forward の定義があった。