Sinatraのあらかると

記録することで、環境構築で悩まない。

RubyGemsで入れたzinbeiが動作しないとき...

ConEmuなどでmsys2でfishをログインシェルにすると、

zinbeiが充分に動作しないみたいでした。

そんなときは、

https://github.com/takkii/zinbei

最新のzinbeiさんを手にして、

/bin

/lib

/lib/zinbei

パスを通します。そうです、あれです。

set -x PATH フォルダへのパス $PATH

こういう風にすると、動作します。

RubyGemsで使うのもいいですが、最新は修正を加えているので最新をリンクしてくれるほうがよいです。

エラーメッセージは確か、

no such file directory /bin/zinbei

リンク先にzinbeiシェルがないよってやつです。

※ スライドでもありますが、2.0.0からはGitLabに移行します。1.x.xシリーズをGitHubに置いておきます。

捕捉

rbenvでmsys2が使えるようになってますか?

リンク先を、

~/.rbenv/libexec

/binにつなぐのとほぼ同じです。シンボリックやらmklinkすると、使いづらくないですか…

スライド

スライド公開してみました。

改番、dein,deopleteとの付き合い方

改番なので、修正するところを書いていく。

deinに記述する項目があるときから代わり統一されている。

それは、既知のバグを修正したものと想われる。

takkii.hatenablog.com

※$INSTALL_DIR + $PLUGIN_DIRは、インストールしたときに端末に表示されているのでそのままコピーします。 もし、コピーできなければdeinを展開したdein.nvimがあるフルパスです。

"dein Scripts-----------------------------
if &compatible
  set nocompatible               " Be iMproved
endif"

" Required:
set runtimepath+=$INSTALL_DIR 
" Required:"
if dein#load_state('$PLUGIN_DIR')
  call dein#begin('$PLUGIN_DIR')

" Let dein manage dein
" Required:
call dein#add('$INSTALL_DIR')

" Add or remove your plugins here:
call dein#add('Shougo/neosnippet.vim')
call dein#add('Shougo/neosnippet-snippets')

" Start copy -----------------------------
call dein#add('Shougo/deoplete.nvim')

" Use deoplete.
let g:deoplete#enable_at_startup = 1

call dein#add('osyo-manga/vim-monster')
" With deoplete.nvim
let g:monster#completion#rcodetools#backend = "async_rct_complete"
let g:deoplete#sources#omni#input_patterns = {
\   "ruby" : '[^. *\t]\.\w*\|\h\w*::',
\}

call dein#add('Shougo/deoplete-rct')
call dein#add('Shougo/denite.nvim')

" End copy -------------------------------

" You can specify revision/branch/tag."
call dein#add('Shougo/vimshell', { 'rev': '3787e5' })

" Required:
call dein#end()
call dein#save_state()
endif"

" Required:
filetype plugin indent on
syntax enable

" If you want to install not installed plugins on startup.
if dein#check_install()
  call dein#install()
endif

"End dein Scripts-------------------------

とりあえず、こんな風にdeinに追加していきます。

dein記事の無効について - Sinatraのあらかると

必須なことがありまして、

Rubyはパスを通すこと

RubyGemsにはneovim、rcodetoolsを入れること

pyenvを使えるなら使い、2.7.xと3.6.xを入れlocalまたはglobalに設定すること

pip3,pipにneovimを入れること

~/.config/nvim/init.vimが標準で読まれるのでコピー先にすること。Windowsでするときは隠しフォルダAppData内のinit.vimが呼ばれる優先権がある。

CheckHealthでneovimの健康状態を確認すること

UpdateRemotePluginsでdeoplete,nvimを認識させること、繰り返してもよい

これを守るべきです。前の記事の延長線上にあることなので、わからないときは確認していただければ環境構築が進みます。

ほんとうに、スライドにしたんだね。テキストエディタがカードゲームとは面白ww

msys2でrbenvするの有意義

事の始まりは、参考サイトより

ch.nicovideo.jp

私はrbenvをmsys2で使えることは有意義だと想います。

前回設定した、Emacsのpackage-installでrbenvをインストールして、

(require 'rbenv)
(global-rbenv-mode)

.emacsまたはinit.elに追加すれば、rbenvのglobal設定したRubyが使えます。

そう、rbenv install -lで入れれなくても、rbenvは自分インストールしたRubyを使うことができます。

ということは、rcodetoolsも認識します。anything-rcodetoolsもきっと使えるでしょう。

autocomplete + robeもこの状態ならば、きちんと動作します。

インターネットで調べていくと、より適切な設定ファイルを作ることができるでしょう。

おそらく読者はNTEmacsから離れられなくなってしまい、Lisp愛好家になっていると想います。

RubyInstaller2についての感情論。

今まで、こうしてこうするとこうなるという話でブログを書いてきた。

今回は深く話さずに広く浅く振り返る。

・RubyInstallerをインストールする→Ruby23

・Ruby23フォルダにdevkitフォルダを作り、ruby dk.rb init → ruby dk.rb installを実行する

これが過去のRubyInstallerの使い方。

しかし、このRubyInstaller2というインストーラRuby2.4.1の32bitならばmsys2(32bit)を使用する。toolchainをインストールする。gccやらなにやらをpacman -S gccなどのコマンドを使いインストールすることができる。

便利なのか、そう今まで別にmsys2を入れていたがそれを使うようになり便利である。ただ、utf8を選択できるのでしないほうがいい。sjisが文字化けを起こすし、エンコーディングはファイルにより変更も指定もできる。

使ってみるとインストールはできるがエラーを起こす場合がある。フォルダ名にスペースが入っていたりすると癖のある指定コマンドを書くように求められる。

結論は、devkit不要なのでかなりいいのではないかと。しかし、msys2なのでcygwinと混在しないほうがよいという話だ。

とりあえず、今日はここまで。

emacsでpackage-installを利用する前に。

(require 'package)

(add-to-list 'package-archives '("melpa" . "https://melpa.org/packages/") t)
(add-to-list 'package-archives '("melpa-stable" . "https://stable.melpa.org/packages/") t)
(add-to-list 'package-archives  '("marmalade" . "http://marmalade-repo.org/packages/") t)
(add-to-list 'package-archives '("org" . "http://orgmode.org/elpa/") t)
(package-initialize)

init.elまたは.emacsに追記するとpackage-installでanythingを利用することができます。さらに、autocompleteやrobeまでインストールできますが、Windows環境だといまいち動いていないように思えますね。それはまた次の記事で。どうするか、Emacsrubyを認識させればちゃんと動作しますよ。

NTEmacsを使うような阿呆なことをするというインターネットでブログをみかけたことがある。さらに、package-installはバージョンを最新にしなければ、anythingが動作するという間違ったブログをみかける。たぶん、私の所見でいうと違う。これは、packageの取得先をきちんと指定してないからだ。それだとうまく、anythingがあるところにアクセスできないのとauto-installとの互換を消す仕様になっているためじゃないかと想われる。

NTEmacsはとても賢いWindows環境にあるEmacsである。私は愛用している。

次は、RubyInstaller2との付き合いとrbenvをmsys2で使うにはとEmacsでrbenvを利用するというブログにしたい。

今回のブログはEmacsをガチでRubyに強くするための入力補完を設定する前触れに過ぎない。

NTEmacs / Emacs for Windows

NTEmacsは上記サイトからダウンロードできる。

Apple IDのセキュリティ解除できないことについて

数日前、お客様のAppleIDが凍結されましたというメールが来たことがあった。何かの間違いだと想っていた。iPod nanoをプレゼントされたときにそういえば昔のID使えるかなと使ってみたらこんな目にあった。パスワードリセットをして、セキュリティの質問だけだったあとは。時間が経過すればまたチャレンジできるという。たぶん、無理だ。数十年前の設定だれが思い出せる。覚えているか、読んでいる君は。ジョブズさんが生きていたとき、サービスも最高だったし、Macを使っていることに誇りを感じて、純正のUNIX環境だとかほざいている自分がいたのが情けない。末路はこんなもん。気をつけることは、「声が聞こえませんが…」という文句は聞こえていることだ。こういう詐欺まがいのことをする会社を信用してはいけない。そのあと電話がかかってきたがでないようにした。できないならば新規でアカウントを作ればいいだけなんだからな。どうして、できないと、「申し訳ありません」と一言言ってもらえなかったのか。それで、諦めがついたのに。どういう電話対応マニュアルなのか疑問である。アカウントをなくしたと諦めるというより、アカウントが新しくなったと心機一転進もうじゃないか。

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