Published on

Warning: SPDX license identifier not provided in source file を解決する方法

Authors
  • avatar
    Name
    ssu
    Twitter

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