ソースからRパッケージをインストールするにはどうすればよいですか?


392

友人がRNYtimesをウェブスクレイピングするこの素晴らしいチュートリアルに沿って私を送ってくれました。ぜひ試してみたいです。ただし、最初のステップは、ソースからRJSONIOと呼ばれるパッケージをインストールすることです。

私はRをかなりよく知っていますが、ソースからパッケージをインストールする方法がわかりません。

Mac OSXを実行しています。


1
これは非常に密接に関連している:stackoverflow.com/questions/11105131/...
GSee

回答:


487

ローカルにファイルがある場合は、を使用install.packages()して設定しrepos=NULLます。

install.packages(path_to_file, repos = NULL, type="source")

path_to_file完全なパスとファイル名を表す場所:

  • Windowsでは、次のようになります"C:\\RJSONIO_0.2-3.tar.gz"
  • UNIXでは、次のようになります"/home/blah/RJSONIO_0.2-3.tar.gz"

2
これfile_name_and_pathは、Rパッケージのローカルソースリポジトリである場合にも機能します。
Faheem Mitha 2013年

1
注記INSTALL_optsにオプションを渡すために使用することができますオプションをR CMD INSTALL。たとえば、「
アンディバーバー2013

2
install.packages( "/ tmp / shiny_0.13.1.tar.gz"、repos = NULL、type = "source")次のエラーが表示されます:-ksh:構文エラー: `( '予期しない
iaav

3
@Cerinが指摘したように、拡張機能に注意する必要があります。.zipアーカイブでRから「(「lib」が指定されていないため)」というエラーが発生しました。拡張子を.tarに変更すると、すべて正常に機能します。
Mohamed Hasan

2
repos = NULLこのアプローチでは、CRANなどからの依存関係がインストールされないため、注目に値します。この答えdevtools::install_local(path_to_file)、私にとってどちらがより単純で(提供する引数がより少ない)、より良い(依存関係もインストールする)ことを示唆しています。
mac

97

ソースパッケージをダウンロードし、Terminal.appを開き、現在ファイルがあるディレクトリに移動して、次を実行します。

R CMD INSTALL RJSONIO_0.2-3.tar.gz

これは、a)パッケージをコンパイルする必要がないか、b)コンパイルに必要なシステムツールが存在する場合にのみ成功することに注意してください。参照:https : //cran.r-project.org/bin/macosx/tools/


3
私はこれを試してエラーを得ました:Madjoro-MacBook-Pro:〜Madjoro $ R CMD INSTALL RJSONIO_0.2-3.tar.gz警告:無効なパッケージ 'RJSONIO_0.2-3.tar.gz'エラー:エラー:パッケージなし指定

1
.tar.gzファイルへの正しいパスを指定する必要があり、XCodeツール(developer.apple.com/TOOLS/Xcode)が必要です。
rcs

1
ソースからバイナリ.zipをビルドする方法はありますか?
haridsv 2010年

5
解決策を見つけたら、-binaryオプションを使用する必要があります。
haridsv 2010年

INSTALLの代わりにinstallと入力して何回ここに来ましたか?
Brandon Bertelsen

50

リポジトリから直接インストールできます(に注意してくださいtype="source"):

install.packages("RJSONIO", repos = "http://www.omegahat.org/R", type="source")

3
私はこれを試してエラーが発生しました:* ソースパッケージ 'RJSONIO'をインストールしています... ** libs ** arch-i386 sh:make:コマンドが見つかりませんエラー:パッケージ 'RJSONIO' RMateのコンパイルが行3で停止しました*削除 ' /Library/Frameworks/R.framework/Versions/2.9/Resources/library/RJSONIO 'ダウンロードされたパッケージは' / private / var / folders / Ey / EyzhYjoKESmsmsZ6K87PeU +++ TI / -Tmp- / Rtmpe3C96p / downloaded_pa​​ckages 'HTMLを更新しています'.Library'内のパッケージのインデックス警告メッセージ:install.packages( "RJSONIO"、repos = " omegahat.org/R"、:installation of package 'RJSONIO' was non-zero exit status

6
開発者ツールがインストールされていますか?それらはMac OS XインストールDVDに入っています。このパッケージにはCコードが含まれているため、ソースからインストールするためのコンパイラが必要です。
Eduardo Leoni

1
開発者ツールがインストールされていないようです。少なくとも、インストールしたことを覚えていません。ありがとう!

4
Windowsでこれを実行している場合は、murdoch-sutherland.com / Rtoolsから開発者ツールを入手できます 。インストール時に、パスを更新するように指示するボックスをチェックしてください(少し読みにくいかもしれません...表示されるチェックされていないボックスをオンにしました)
Dan Goldstein

27

古いバージョンのパッケージをソースからインストールするための補足的な(ただし簡単な)ヒント。

まず、「install.packages」を呼び出すと、常に最新のパッケージがリポジトリからインストールされます。古いバージョンのパッケージをインストールする場合、たとえば互換性のために、install.packages( "url_to_source"、repo = NULL、type = "source")を呼び出すことができます。例えば:

install.packages("http://cran.r-project.org/src/contrib/Archive/RNetLogo/RNetLogo_0.9-6.tar.gz", repo=NULL, type="source")

パッケージをローカルディスクに手動でダウンロードしてコマンドラインに切り替えるか、ローカルディスクからインストールしなくても、非常に便利で、呼び出しを簡略化できます(ワンステップ)。

さらに、パッケージの異なるバージョンを管理するために、devtoolsライブラリのdev_modeでこのトリックを使用できます。

リファレンス:doc devtools


9

cranから、githubレポジトリアドレスから直接インストールできます。したがって、次の場所でパッケージが必要な場合https://github.com/twitter/AnomalyDetection

library(devtools)
install_github("twitter/AnomalyDetection")

トリックを行います。


8

さらに、-binaryオプションを使用してバイナリパッケージをビルドできます。

R CMD build --binary RJSONIO_0.2-3.tar.gz

21
R CMD build --binary非推奨です。R CMD INSTALL --build代わりに使用してください
f3lix
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.