mbed import でエラーが発生する場合の対処方法

mbed import コマンドでエラーが発生する場合の対処方法です。

証明書エラーが発生する場合

以下のようなエラーが発生した場合の対処方法です。

$ mbed import https://developer.mbed.org/teams/xxxx/code/yyyy/

[mbed] Importing program “yyyy" from "https://developer.mbed.org/teams/xxxx/code/yyyy/"
abort: certificate for developer.mbed.org has unexpected fingerprint 70:f0:1e:e4:c6:89:2f:12:e8:a0:64:05:f7:cf:a6:c6:ba:19:15:e6
(check hostfingerprint configuration)
fatal: https://developer.mbed.org/teams/xxxx/code/yyyy/info/refs not valid: is this a git repository?
[mbed ERROR] Unable to clone repository (https://developer.mbed.org/teams/xxxx/code/yyyy/)

mbedコマンドから呼び出している Mercirual (hg) から clone 出来てないようなので、直接呼び出してみます。

$ hg clone https://MACRUM@developer.mbed.org/teams/xxxx/code/yyyy/

abort: certificate for developer.mbed.org has unexpected fingerprint 70:f0:1e:e4:c6:89:2f:12:e8:a0:64:05:f7:cf:a6:c6:ba:19:15:e6
(check hostfingerprint configuration)

同じエラーが発生しました。調べてみると以下のような例がありました。

https://answers.atlassian.com/questions/241767/check-hostfingerprints-warnings

Mercurial のバージョンをアップデートしても問題が発生する場合は、コンフィグレーションファイル(.hgrc または、Mercurial.ini)を直接編集し、以下のように修正します。私が使用していた Windows 7 場合は、%APPDATA% に隠し属性ファイル Mercurial.ini がありました。

[hostfingerprints]
developer.mbed.org = 70:f0:1e:e4:c6:89:2f:12:e8:a0:64:05:f7:cf:a6:c6:ba:19:15:e6

再度 mbed import を実行し、正常にインポート処理が行われたことを確認します。

503エラーが発生する場合

$ mbed deploy

[mbed] Adding library "I2CEeprom" from "https://developer.mbed.org/users/rhourahane/code/I2CEeprom" at rev #b23f5561266c
abort: HTTP Error 503: Service Unavailable
fatal: https://developer.mbed.org/users/rhourahane/code/I2CEeprom/info/refs
not valid: is this a git repository?
[mbed] ERROR: Unable to clone repository (https://developer.mbed.org/users/rhourahane/code/I2CEeprom/#b23f5561266c)

上記エラーは、mbed import で発生していますが、該当するリポジトリのみを hg clone した場合も、以下のようなエラーになりました。

$ hg clone -verbose --debug https://MACRUM@developer.mbed.org/users/rhourahane/code/I2CEeprom/

using https://developer.mbed.org/users/rhourahane/code/I2CEeprom/
proxying through http://proxy.xxxx.co.jp:8080
http auth: user MACRUM, password not set
sending capabilities command
developer.mbed.org certificate successfully verified
abort: HTTP Error 503: Service Unavailable

この場合は、proxy の設定が必要になります。先ほどの例と同様に .Mercurial.ini を修正します。

[http_proxy]
host = proxy.xxxx.co.jp:8000
passwd = password
user = username

以上です。


Please log in to post comments.