ComposerでSmartyを入れようとしたら地味にハマった件。

前々回あたりの記事(→いよいよComposerとかを入れて環境を仕上げるの巻)で作ったcomposer.jsonにSmartyを追加してcomposer updateしたら地味にハマったので今回はそのメモ書き。


以前作ったcomposer.jsonはこれ↓
[cc lang=”javascript”]
{
“require”: {
“rodneyrehm/plist”: “dev-master”
}
}
[/cc]

これにsmartyを追加します。
[cc lang=”javascript”]
{
“require”: {
“rodneyrehm/plist”: “dev-master”,
“smarty/smarty”: “v3.1.15”
}
}
[/cc]

で、
composer update。
すると、smartyはまだインストールされていないので勝手にsvn checkutされてきます。

通常はこれでOK。
前回rodneyrehm/plistをインストールした時にrequire_onceしてあるautoload.php経由でSmartyも読み込まれるので、すぐにでもSmartyが使えるようになります。

・・・なるはずだったのですが。。。
composer updateがエラーで失敗します。

[RuntimeException]
Package could not be downloaded

めちゃくちゃ時間かかる上に何度や手もエラーが出やがります。

・・・で。

困ったときのGoogle先生。

ComposerのGitHubでIssueとして全く同じ症状が上がっていて、そこに答えが書いてありました。
[RuntimeException] Package could not be downloaded for smarty · Issue #2352 · composer/composer · GitHub

I found the reason. Filesystem was mounted via vboxsf and svn checkout fails each time. After i moved all data to local disk it was fixed.

こ れ だ !
  
たしかにVirtualBoxのフォルダ共有機能を使ってホストのフォルダーをマウントしてそこでcomposer updateしてました。
そこで、いったん/rootにcp -Rしたあとcomposer updateしたところ、svn checkoutがくっそ早いしエラーも出なかったです。

フォルダの共有機能便利なんですが、こんな罠がありました。
なむなむ。

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください