前一天我們建立第一個Conan包: hello/1.0
但是我其實打包的過程中,有許多地方可能會犯錯,導致打包出來的套件有BUG。
我們就來看看哪裡可能出錯,又要怎麼預防。
比如說 的 hello/。這次故意把 package_info 那行寫錯:
def package_info(self):
self.cpp_info.libs = ["helo"]
hello 拼錯字,少了一個 l。
我們執行 conan create .,結果:
package(): Packaged 1 '.h' file: hello.h
package(): Packaged 1 '.lib' file: hello.lib
Full package reference: hello/1.0#038a8f5a89c7b029e6d93b0433c4691f:7045716a28efb7b0ef7ebf95fb54279df62f8ee7#e9e556b9ac2a0861e2ae9785cef4e051
打包成功了,沒有出現錯誤。但是字拼錯了欸,怎麼辦?
conan create 只負責編譯、打包,這兩件事都正常。
什麼時候才會發現錯誤呢?因為拼錯字的 package_info 是寫給「使用者」看的,所以要等到有人 requires 這個套件(通常是你的同事)時才會被讀到。也就是說,這個錯會在同事的機器上爆開,同事會跑過來跟你說,你這套件怎麼有問題?