- Published on
Warning: SPDX license identifier not provided in source file を解決する方法
solidityを使っていて下記のwarningが出たので、 下記のwarningを消す方法とそもそも何でているのかを説明します。
Warning: SPDX license identifier not provided in source file. Before publishing, consider adding a comment containing "SPDX-License-Identifier: <SPDX-License>" to each source file. Use "SPDX-License-Identifier: UNLICENSED" for non-open-source code. Please see https://spdx.org for more information.
こちらはlicense idetifierとあるようにコードのライセンスが設定されていないということです。 solidityでは、0.6.8以降ライセンスを特定しないといけなくなっており、 それが原因でこのようなエラーが出ています。 https://forum.openzeppelin.com/t/solidity-0-6-8-introduces-spdx-license-identifiers/2859
これを解決するためには、ライセンスを指定してあげる必要があり、 下記のようにライセンスを指定してあげれば解決できます。
オープンソースではない場合は、下記のように設定。
// SPDX-License-Identifier: UNLICENSED
MITの場合
// SPDX-License-Identifier: MIT
GPLの場合
// SPDX-License-Identifier: GPL-3.0-or-later
参考: Solidity 0.6.8 introduces SPDX license identifiers
参考: Warning: SPDX license identifier not provided in source file