※2016/11/14修正、options(encoding)を使った方法を追記
##問題
Shinyapps.io はShinyが使う関数にマルチバイト文字が入っているとデプロイの際にワーニングが出て、ライブラリがインストールされずに使えないケースが発生する、という問題があります。ワーニングは無視すればいいのですが、ライブラリがインストールされないとアプリが動かないので致命的です。
##原因
デプロイの際に走るlint()がマルチバイトを受け付けず、それがライブラリのインストールを止めてしまいます。
##対策(回避策1)
deployApp()を発行する瞬間だけエンコーディングをUTF-8に変更します。
tmp.enc <- options()$encoding #標準コーディングを記録(native.encであることが多いです)
options(encoding = "UTF-8") #エンコーディングをUTF-8に変更
deployApp()
options(encoding = tmp.enc) #エンコーディングをもとに戻す
基本的にRは関数・ライブラリによってエンコーディングの取り扱い方がまちまちなので、エンコーディングをUTF-8のままにしておくと思わぬトラブルが発生するかもしれないので、戻しておくことをお勧めします。
##対策(回避策2)
global.R にrequire()もしくはlibrary()を記載します。このファイルにShinyが使う関数を記載する必要があってもマルチバイト文字を使用しない。これでserver.R/ui.Rでワーニングが出ても何とかライブラリはインストールされるようになります。
global.R の役割に関しては以下をご覧ください。
Scoping rules for Shiny apps
一応RStudio側でrsconnect::lintを見直してくれる的なコメントをgit_hub上でいただきました。