環境構築・零

環境構築のその先へ

sqlite3.OperationalError: database is lockedを解決するには

sqlite3.OperationalError: database is locked

これが出現している間は、

インストールなどできないので、

yum install psmisc

※ fuserコマンドは入れられませんね

ポート番号
$ lsof -i -P | grep 8000
15502
15504
...

PIDをキル
$ kill -9 15502

なぜ、こんなことに?

yum update中にCtrl+Cを押して、強制終了したことでプロセスがキルできなかった。

これですよ、サーバ管理で起きたら参考に。

追記

ps aux | grep rails
kill -9 15502

起動中のrailsプロセスを探せる。あれば切る。

香り屋さんのVimでびむおーツールを使うには。

環境

Windows10

Python3.7.2 64bit

kaoriya-vim 8.1.1010 64bit

github.com

Python 3.7.2をC:ドライブ直下へ投入

この設定をしておけば、

.vimrc + deinを使用

  call dein#add('Shougo/unite.vim')
  call dein#add('Shougo/denite.vim')
  call dein#add('Shougo/defx.nvim')
  call dein#add('takkii/Bignyanco')

Defxのため、.vimrcに追加

github.com

それなりに困らないくらい動作する。:Defxが使えるのも利点。

起動時

C:\Users\takkii.vimrc ̏ɃG[ªo³ê܂µ½: s 13: E518: ¢m̃IvVł·: dynamic_python_dll='C:\python3\python37.dll'

?なんだなんだ?

let dynamic_python_dll='C\python3\python37.dll'

これで言わなくなる。

Deniteを使うと

:Denite file/rec

VIM - Vi IMproved 8.1 (2018 May 18, compiled Mar 17 2019 01:25:13) 未知のオプション引数です: "--ignore" より詳細な情報は: "vim -h"

このようなウインドウもでるのだが、どちらに報告すべきか、悩む。

Python3.7.3からダウンロードし再度設定すると、こういうのなくなりました。

[不具合]

let g:python3_host_prog='C\python3\python.exe'

let dynamic_python_dll='C\python3\python37.dll'

PATH

Python3
Python/Script

更新

let g:python3_host_prog='C:/python3/python.exe'
let dynamic_python_dll='C:/python3/python37.dll'

'python'はPATHが通っていても、動作不良があるかも。

指定すると香り屋さんのVim8最新(現時点)でPython3.7.3が快適です。

minitestの自動実行

takkii.hatenablog.com

例.1

    Dir[File.dirname(__FILE__) + '/mini_test/*.rb'].each do |file|
      require file
    end

例.2

    Dir[File.join(__dir__, 'mini_test', '*.rb')].each do |file|
      require file
    end

rubygems.org

Rubygems、作ろうと思ったら既にありました。require_allという全てロードしてくれるライブラリ。

zinbeijettのunit_test_ruunerから

Test::Unit::AutoRunner.run(true, './test')

Unitテストの自動実行の変わりになります。それぞれの用途でどうぞ。

シュミレータなるものをコンソールで。

github.com

理解できたこと

・privateリポジトリをpublicレポジトリへ変換できること

      Setting→make public→レポジトリ名入力→GitHubパスワード

・JDK11に対応

      コーディング規約に沿って書いていく

JavaRubyと同じくらい書いてきました。けれど資格をとるには至らず。方針を変更して、レガシーコードを最新に対応してみたという例です。グリーンコード化してあります。実行すると延々と在庫管理で追加と削除が繰り返されます。コンパイラを手動で止めましょう。Ctrl + Cを押すなど。リーディングしているときより、ああしたいこうしたいと行動することで理解が深まりますね。

linuxbrewで入れるrmagickの設定

linuxbrew.sh

brew install imagemagick@6

インストール

brew pin imagemagick@6

固定、アップグレード避け。

[.zshrc or .zshenv or .bashrc or .bash_profile]

#=============================
# ImageMagick6
#=============================

export PATH="/home/linuxbrew/.linuxbrew/opt/imagemagick@6/bin:$PATH"
export LDFLAGS="-L/home/linuxbrew/.linuxbrew/opt/imagemagick@6/lib"
export CPPFLAGS="-I/home/linuxbrew/.linuxbrew/opt/imagemagick@6/include"
export PKG_CONFIG_PATH="/home/linuxbrew/.linuxbrew/opt/imagemagick@6/lib/pkgconfig"
export LD_LIBRARY_PATH="/home/linuxbrew/.linuxbrew/Cellar/imagemagick@6/6.9.10-27/lib"

gem install rmagick

これで入ります。

libMagickCore-6.Q16.so.6: cannot open shared object file: No such file or directory

$HOME/.rbenv/versions/2.6.1/lib/ruby/gems/2.6.0/gems/rmagick-3.0.0/lib/RMagick2.so

これは、RMagick2.soがありませんというエラーではなかった。むしろ、PATHが通ってなかったのはlibMagickCore-6.Q16.so.6。このライブラリのPATHが不明だった。LD_LIBRARY_PATHを設定してあげると通るようになった。rmagickはPATHが不明なライブラリがあってもビルドされるんだなぁ。。

find /home/linuxbrew/.linuxbrew/Cellar/imagemagick@6/6.9.10-27/lib -name libMagickCore-6.Q16.so.6

検索してみると、ヒットすると思います。

こうするとspacemacsでも動く例

Vimでdein、ruby-dictionary3を使っていると前提。

プラ銀は、totolotかruby-dictionary3。

github.com

.emacs.d/elispへ設置

auto-complete-config.el

auto-complete-pkg.el

auto-complete.el

dictフォルダ

(add-to-list 'load-path "~/.emacs.d/elisp")
(add-to-list 'load-path "~/.emacs.d/elisp/dict")

(require 'auto-complete-config)
(add-to-list 'ac-dictionary-directories "~/.vim/repos/github.com/ユーザ名(例:takkii)/ruby-dictionary3/autoload/source/")
(ac-config-default)
(setq ac-use-menu-map t)

(ユーザ名を自分のアカウントに置き換えて)これで動作する。入力補完辞書の使い方

余談

あまり詳しくないけれど、package installでauto-completeを入れてもautocomplete-configがないというので、外部ロードフォルダを追加しました。依存系を壊すわけではないので、問題ないと思います。入力補完辞書は、過去にも話しましたが環境が違っても動作しますね。

Copyright © 2007-2019 Takayuki Kamiyama. All Rights Reserved.