yeterince iyi bir çözüm ekli geçirildikten sonra paket olduğunu ayrılması hemen, o zaman böyle bir şey deneyin:
setHook(hookName = packageEvent("tcltk", "attach"),
value = function(...) detach(package:tcltk))
# Try it out
library(tcltk)
# Loading Tcl/Tk interface ... done
# Error in as.environment(pos) : invalid 'pos' argument
search()
# [1] ".GlobalEnv" "package:graphics" "package:grDevices"
# [4] "package:utils" "package:datasets" "package:methods"
# [7] "Autoloads" "package:base"
yükleme & arasında (muhtemel görünüyor gibi) çok hareket paketini takılarak ise Soruna neden oluyor, sorunuzdaki yorumlarda yer alan gibi bir strateji de takip edebilirsiniz. Yani:
- da adlandırılan dizindeki tcltk
- Yeri bunu, mesela
"C:/R/Library/dummy/"
adlı bir zararsız kukla paketi oluşturun.
- Başka bir komutu çalıştırmadan önce,numaralı telefonu
.libPaths(c("C:/R/Library/dummy/", .libPaths()))
gerçekleştirerek bu dizine ekleyin.
Sonra herhangi bir paket tcltk yüklemeye çalıştığında, ilk "C:/R/Library/dummy/"
paketler arar ve bu ismin bir bulgu, hemen tarif kanca tarafından müstakil edilmeden önce (bir an için onu yükleyecektir ile elde edilmiş).
Paketler sans tcltk ile ayrı bir dizininiz olabilir. R, orada olmayan bir şeyi yükleyemez. –
Ben tcltk yerleşik bir paket olduğuna inanıyorum. Sanırım tcltk desteği olmadan R'yi derleyebilirim, ama bu biraz aşırı görünüyor. –
Ayrıca aşırı (ama belki de tercih edilebilir), aynı zamanda 'tcltk' adlı bir kukla paket oluşturmak ve ayrı dizine yerleştirmek olacaktır. Sonra, libPaths'niz bu dizinde ilk olarak görünecek şekilde ayarlandığında, her zaman taklit paketini yükler. Daha sonra bir paket, 'tcltk': 'setHook (hookName = packageEvent (" tcltk "," onLoad "), value = function (...) duracak şekilde yüklendiğinde hata oluşması için aşağıdakileri de kullanabilirsiniz. ("Uyarı: tcltk yüklemeye çalıştı")) '. (Hataya rağmen paketin hala yükleneceğini unutmayın). Yine de daha temiz bir çözüm olmalı. –