el-getを導入した際にハマっちゃったことを晒します

パッケージ管理にel-getを導入しようとした際にハマったお話です。結論からいうと、マニュアルやREADMEはちゃんと読めということです。

これまでemacsのパッケージ管理にはemacs標準のpackage.elを使用していました。いつかel-getを試してみようと思って放置していたのですが、思うところがあったので、いよいよ重い腰を上げてel-getを導入しました。

el-get自体はGitHub上にあります。

github.com

導入は簡単で、以下のコードをinit.elなどの初期化ファイルに記述するだけです。 

(add-to-list 'load-path "~/.emacs.d/el-get/el-get")

 

(unless (require 'el-get nil 'noerror)

  (with-current-buffer

      (url-retrieve-synchronously

       "https://raw.githubusercontent.com/dimitri/el-get/master/el-get-install.el")

    (goto-char (point-max))

    (eval-print-last-sexp)))

 

(add-to-list 'el-get-recipe-path "~/.emacs.d/el-get-user/recipes")

(el-get 'sync)

 

package.elやel-get、その他のパッケージ管理のメリット/デメリットについては、丁寧にまとめているページが簡単に見つかるのでそちらをあたってみてください。

これでemacsを再起動すると、起動時に必要なファイルをGitHubから取得してel-getの導入が完了します。これだけです。

どこでハマったの?という感じですね。

el-getなどのパッケージ管理システムを導入しようとする動機として、職場と家などの様々な環境ごとに設定を共通にしたいというものがあります。少なくとも僕の動機はそれが一番でした。

なので、この後、さまざまなページで紹介されているように、

(el-get-bundle jbeans-theme)

(load-theme 'jbeans t)

のように、必要なパッケージを記述していったわけです。

これでこれからのパッケージ管理が楽にできる!と喜び勇んでemacsを再起動すると、

error: El-get can not find a recipe for package "jbeans-theme"

To ensure normal operation, you should investigate and remove the
cause of the error in your initialization file. Start Emacs with
the ‘--debug-init’ option to view a complete error backtrace.

 とうまく導入できません。

ここで結構な時間悩んでしまったのですが、本家にちゃんと説明がありました。

github.com

Placing el-get-bundle macro calls instead of (el-get 'sync) in your init file to explicitly specify which packages should be installed. 

僕の用途のようにel-get-bundleを用いて導入したいパッケージを初期化ファイルに記述したい場合には、(el-get 'sync)を削除する必要があります。

はじめからちゃんとREADMEを最後まで読んでいれば悩まなくて済んだんですが、そんなこといったところで後の祭りですね。

同じことでハマる人にとって少しでも役に立つことを願い、失敗談として晒します。

受験に向けてのブランチ

娘の通う中学校で、学校と保護者との間の懇談会がありました。私の娘は進学を控えた中学3年生なので、主に進学についての相談や話し合いました。

いろいろな事情により、娘の進路を学校に任せておくわけにもいきませんので、今すぐにでも、娘が満足できる進学ができるように対応する必要性を感じています。

そこで、まずは娘を取り巻く現状をブランチで整理してみたいと思いました。

 

f:id:o_masaaki:20160704001442p:plain

話し合いのクラウド2

先日の話し合いのクラウドを公開した後に、TOCの先生方に何点かアドバイスをいただきました。

  • 要望が「行動の言い換え」になっていること
  • それぞれの行動の結果どうなるのかのブランチを家族と作成してみること

その結果のクラウドです。

f:id:o_masaaki:20160626233114p:plain

 

話し合いのクラウド

久しぶりにクラウドをアップしようとしたら、今までのが消えてた?

 

娘も受験を控える学年になり、進路について真剣に検討しなければならない時期になりました。日が経つにつれて、これからのことを学校と話し合う必要性を強く感じるようになりました。

一方、家族からはあまり学校とは事を構えないことを要望されています。そのため、これまではあまり学校に要望することをしてきませんでした。

学校と話し合いをする/しない。このジレンマを整理しました。

 

f:id:o_masaaki:20160623230455p:plain