私は対処しようとしています:
警告メッセージ:「 encoding
は非推奨になりました。すべてのファイルがUTF-8であると見なされるようになりました。」
パッケージGGIRのtest-directoryおよびsourceを機能するtestthatによって生成されます。
この警告メッセージは、パッケージ全体をテストするときにのみ表示され、test_file()を使用して個々のテストを実行するときは表示されません。
役に立たなかったのは:
options(encoding = "UTF-8")
を追加します。options(encoding = "UTF-8")
を追加します。fileEncoding="UTF-8"
するすべての私のコールにwrite.table
。UTF-8エンコーディングを使用しているかどうかに関係なく、警告メッセージが出力され、実際には存在しない問題を修正しようとしている可能性がありますか? はいの場合、警告メッセージは警告ではなくメモにする必要がありますか? そうでない場合は、この警告メッセージの原因と対処方法について教えてください。
ありがとう、ヴィンセント(そして素晴らしいパッケージに感謝します!)
私のsessionInfo():
R version 3.4.4 (2018-03-15)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 16.04.4 LTS
Matrix products: default
BLAS: /usr/lib/openblas-base/libblas.so.3
LAPACK: /usr/lib/libopenblasp-r0.2.18.so
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C LC_TIME=nl_NL.UTF-8 LC_COLLATE=en_US.UTF-8 LC_MONETARY=nl_NL.UTF-8
[6] LC_MESSAGES=en_US.UTF-8 LC_PAPER=nl_NL.UTF-8 LC_NAME=C LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=nl_NL.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] testthat_2.0.0 GGIR_1.5-22
loaded via a namespace (and not attached):
[1] compiler_3.4.4 magrittr_1.5 R6_2.2.2 tools_3.4.4 yaml_2.1.18 Rcpp_0.12.16
[7] data.table_1.10.4-3 rlang_0.2.0
問題はdevtools::test
にあると思いますが、これは次のことを行います。
testthat_args <- c(testthat_args, load_helpers = FALSE,
encoding = pkg$encoding %||% "unknown")
これにより、現在は非推奨の引数になっているにもかかわらず、 encoding
が常に設定されていることが保証されます。 これらの引数を使用してtestthat::test_dir
が呼び出されると、次のようになります。
if (!missing(encoding) && !identical(encoding, "UTF-8")) {
warning("`encoding` is deprecated; all files now assumed to be UTF-8",
call. = FALSE)
}
警告が発生します。
修正は、 testthat
が特定のバージョンよりも小さい場合にのみ、 encoding
引数を追加することです。
プルリクエスト#767でこの問題を解決しました。 @kenahoo、あなたの提案とは少し異なる解決策について行きました。 フィードバックを聞きたい。
devtoolsで修正されました。
最も参考になるコメント
問題は
devtools::test
にあると思いますが、これは次のことを行います。これにより、現在は非推奨の引数になっているにもかかわらず、
encoding
が常に設定されていることが保証されます。 これらの引数を使用してtestthat::test_dir
が呼び出されると、次のようになります。警告が発生します。
修正は、
testthat
が特定のバージョンよりも小さい場合にのみ、encoding
引数を追加することです。