2014-12-04 17 views
16

Il seguente output può essere ottenuto dopo l'installazione di R da homebrew e senza nel mio OSX:Come sbarazzarsi dei messaggi di avviso dopo l'installazione di R?

During startup - Warning messages: 
1: Setting LC_CTYPE failed, using "C" 
2: Setting LC_COLLATE failed, using "C" 
3: Setting LC_TIME failed, using "C" 
4: Setting LC_MESSAGES failed, using "C" 
5: Setting LC_MONETARY failed, using "C"   # this line is not occurring in OSX 10.10.1 Yosemite but other four are. 

ho trovato un esistente question ma la soluzione non funziona per me. Faccio questo

  1. Apri terminale
  2. Scrivere o incollare: defaults write org.R-project.R force.LANG en_US.UTF-8
  3. Chiudi Terminal
  4. Inizio R

ei messaggi di avviso vengono ancora visualizzati. Immagino che questo funzioni quando si installa R usando il pacchetto dalla pagina del progetto R.

Come sbarazzarsi di questi messaggi di avviso dopo l'installazione di R in OSX?

+0

@RichardScriven, sono sicuro che è un ottimo suggerimento ma non lo seguo del tutto. Sto eseguendo R in un terminale. Non ci sono app nella mia directory dell'applicazione. So che ce n'è uno quando si installa R con il pacchetto di installazione dalla pagina del progetto. –

+0

Hai ragione. Ho rimosso il tag. –

+0

Ottengo gli stessi errori senza la riga "5: - -" in Yosemite 10.10.1 che sono in realtà probabilmente diversi dal post che ho detto di essere duplicati: http://stackoverflow.com/questions/9689104/installing-r -on-mac-warning-messages-setting-lc-ctype-failed-using-c Potrebbe esserci lo stesso problema negli argomenti. In realtà ho installato R senza homebrew e ho lo stesso problema quindi consiglio di rimuovere Homebrew nel titolo e nel corpo. –

risposta

7

Problema: Variabili locali che indicano quale codifica da utilizzare non è impostata. Per vedere il problema, nel terminale, digitare locale, e probabilmente ottenere qualcosa di simile

LANG= 
LC_COLLATE= 
LC_CTYPE= 
LC_MESSAGES= 
LC_MONETARY= 
LC_NUMERIC="en_US.UTF-8" 
LC_TIME= 
LC_ALL= 

LC_NUMERIC può o non può essere impostato, ma dato i vostri errori, il resto sono o non impostato o impostato su qualcosa di R può' usare. Se quelle variabili sono vuote, R si lamenterà. Per risolvere il problema:

Opzione 1: Preferenze Terminale Vai a Preferenze terminale. Nella scheda "Avanzate", assicurati che "Codifica testo" sia impostato su "Unicode (UTF-8)" (o qualsiasi altra cosa tu abbia bisogno). Assicurarsi che la casella di controllo sotto per "Imposta le variabili di ambiente locale all'avvio" sia selezionata. Deselezionando, tende a lasciare le variabili locali non impostate o come "C", a meno che tu non abbia cambiato .bash_profile, .bashrc o .profile (a seconda del tuo sistema). Potrebbe essere sufficiente per risolvere il tuo problema. In caso contrario:

Opzione 2: Set da R impostarli dall'interno di R, tipo

R> Sys.setenv(LANG="en_US.UTF-8") 
R> Sys.setenv(LC_ALL="en_US.UTF-8") 

... che dovrebbe impostare tutte le variabili R si lamenta.

Opzione 3: Impostare dal Terminal Per impostare loro di terminale, digitare

export LANG=en_US.UTF-8 
export LC_ALL=en_US.UTF-8 

... che dovrebbe impostare il resto delle variabili R si lamenta.

Controllare: di nuovo nel terminale, digitare locale nuovamente. Si dovrebbe ottenere

LANG="en_US.UTF-8" 
LC_COLLATE="en_US.UTF-8" 
LC_CTYPE="en_US.UTF-8" 
LC_MESSAGES="en_US.UTF-8" 
LC_MONETARY="en_US.UTF-8" 
LC_NUMERIC="en_US.UTF-8" 
LC_TIME="en_US.UTF-8" 
LC_ALL="en_US.UTF-8" 

Riavviare R, e si dovrebbe essere impostato.

+0

Ho fatto tutto come da istruzioni, ma non ottieni l'output delle impostazioni locali come dici tu. Ottengo * LANG =; LC_COLLATE = "C"; LC_CTYPE = "en_US.UTF-8"; LC_MESSAGES = "C"; LC_MONETARY = "C"; LC_NUMERIC = "C"; LC_TIME = "C"; LC_ALL = *; "Qualsiasi altra opzione? –

+0

Quando si ottiene che? Dopo aver impostato manualmente le variabili à la" Opzione 3 ", ma prima di reimpostare, dovrebbe assomigliare alle impostazioni locali" Verifica ". Se si reimposta quando si riavvia Terminal, o perché la casella di controllo in Pref. del terminale non è selezionata, o perché hai diverse istruzioni di avvio per bash in .bash_profile, .bashrc o .profle (su OS X, dovrebbe essere .bash_profile). "Prefpane" (il nome varia a seconda della versione di OS X) può avere un impatto anche sulle impostazioni locali, ma ciò non suona come accade qui – alistaire

2

In relazione alla risposta di alistaire, ho modificato solo la variabile LANG sul mio ~ /.profilo del file:

export LANG=en_US.UTF-8

Poi, riavviare la sessione di terminale (o source ~/.profile) e il gioco è fatto.

+0

La tua procedura non funziona. Ho inserito invece il comando in $ HOME/.bashrc che funziona. Sembra che $ HOME/.profile non venga eseguito automaticamente all'inizio del prompt. –

+0

@Masi - È stato effettuato un riavvio del sistema dopo la modifica di .profile? – Dason

+0

@Dason No. Penso che questo sia l'errore. –

2

inserire il seguente al vostro $ HOME/.bashrc

export LANG=en_US.UTF-8 

Sembra, che per qualche ragione, la $ HOME/.profile non è di provenienza ad avviare il terminale.

1

ho aperto Preferenze di Sistema/Lingua e regione e Stati Uniti selezionati come mia regione, tutti gli avvertimenti scomparsi.

Problemi correlati