1. ホーム
  2. r

[解決済み] tdplyr パッケージのインストールに失敗しました error: argument is not an environment

2022-02-15 06:20:29

質問

私の初めての投稿をチェックしていただきありがとうございます。私の書式は我慢してください。

問題の概要:私は、これまで tdplyr という別のパッケージをテストするまでは、問題なく Teradata データベースにアクセスすることができました。 dplyr.teradata パフォーマンス向上の可能性があるためです。しかし、以下のようなエラーメッセージが表示され、データベースに接続することができなくなりました。

Error: package or namespace load failed for 'tdplyr':.onLoad failed loadNamespace() for 'tdplyr', details: call: parent.env(from) error: argument is not an environment

そこで、dplyr.teradataパッケージを削除して、元のtdplyrが動作するようになると思いましたが、まだ上記の同じエラーメッセージが表示されます。次に、バックアップなしでtdplyrパッケージを削除し、以下の元のスクリプトを使用して再インストールしようとしました。

install.packages('tdplyr',repos=c('https://teradata-download.s3.amazonaws.com','https://cloud.r- 
project.org'))

が、また同じエラーでインストールに失敗しています。どなたか修正方法をアドバイスいただけると幸いです。

私のセッション情報は以下の通りです。

sessionInfo()
R version 4.0.3 (2020-10-10)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 16299)

Matrix products: default

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252   
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C                          
[5] LC_TIME=English_United States.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
 [1] rlang_0.4.10         teradatasql_17.0.0.8 odbc_1.3.0           dplyr_1.0.2         
 [5] dbplyr_2.0.0         digest_0.6.27        DBI_1.1.0            hms_0.5.3           
 [9] bit64_4.0.5          bit_4.0.4           

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.5       rstudioapi_0.13  magrittr_1.5     tidyselect_1.1.0 R6_2.4.1        
 [6] blob_1.2.1       tools_4.0.3      xfun_0.20        tinytex_0.28     ellipsis_0.3.1  
[11] assertthat_0.2.1 tibble_3.0.4     lifecycle_0.2.0  crayon_1.3.4     zip_2.1.1       
[16] purrr_0.3.4      vctrs_0.3.6      glue_1.4.2       openxlsx_4.2.3   stringi_1.5.3   
[21] compiler_4.0.3   pillar_1.4.6     generics_0.0.2   pkgconfig_2.0.3 

解決方法は?

は、自分で答えを見つけました。以下にその答えを貼り付けます。

Teradata Rパッケージは、いくつかの破壊的な変更を導入したdbplyr v2.0.0およびその以降のバージョンと互換性がありません。tdplyrを使用するには、dbplyrパッケージのバージョンがv1.4.4である必要があります。dbplyr v2.0.0以降と互換性のある新しいバージョンがリリースされるまで、ターミナル(LinuxおよびMac)またはコマンドプロンプト(Windows)から以下のコマンドを使用してtdplyrをインストールする必要があります。

まず、dbplyr v1.4.4をインストールします。Rパッケージの特定のバージョンをインストールするには、様々な方法があります。Teradataでは、以下のコマンドを使用することを推奨しています。 Rscript -e "remotes::install_version('dbplyr',version='1.4.4',repos='https://cloud.r-project.org')"です。 注意:上記のコマンドを実行するには、Rパッケージremotesがクライアントマシンに存在する必要があります。

次に、tdplyrと依存関係を自動的にダウンロードしてインストールするには、最低限必要なバージョンを満たしていない場合、install.packagesのrepos引数でTeradata RパッケージリポジトリとCRANを指定します。 Rscript -e "install.packages('tdplyr',repos=c('https://teradata-download.s3.amazonaws.com','https://cloud.r-project.org'))"です。