0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

pak パッケージで RMeCab のインストールに挑戦

Last updated at Posted at 2024-12-14

はじめに

pakパッケージ を使って、GitHub から R パッケージのインストールを試すために、RMeCab のインストールに挑戦しました。

インストール準備

# パッケージリストの更新とプログラムパッケージのアップデート
sudo apt update && sudo apt upgrade -y

MeCab のインストール

# MeCab のインストール
sudo apt install -y mecab libmecab-dev mecab-ipadic-utf8

R のインストールと R の起動

Debian の場合、次のコマンドで R をインストールする。

# R のインストール
sudo apt install r-base r-base-dev
# R の起動
R

P3M リポジトリ設定用.Rprofileファイルの作成

P3M(Posit Public Package Manager)については、こちら

# P3M リポジトリ設定用.Rprofileファイルの作成
my.Rprofile <- 'local({
  repos <- c(P3M = "https://packagemanager.posit.co/cran/__linux__/bookworm/latest")
  options(repos = c(repos, getOption("repos")))
})
'
cat(my.Rprofile, file = ".Rprofile", append = TRUE)

pak パッケージのインストール

# pak のバイナリビルドパッケージのインストール
install.packages("pak", repos = sprintf(
  "https://r-lib.github.io/p/pak/stable/%s/%s/%s",
  .Platform$pkgType,
  R.Version()$os,
  R.Version()$arch
))

.Rprofileファイルを適用させるために R の再起動

.Rprofileファイルを読み込むコマンドがあるかもしれませんが...

# R の終了
q()
# R の起動
R

あったら便利かなと思い tidyverse をインストール

# tidyverse のインストール
pak::pak("tidyverse")

pak で GitHub から RMeCab のインストールに挑戦

2024/12/14 での結果です。

# GitHub から RMeCabのインストール
pak::pak("IshidaMotohiro/RMeCab")

次のようなメッセージが出て、失敗しました。

! Using bundled GitHub PAT. Please add your own PAT using `gitcreds::gitcreds_set()`.
Error:                                                            
! error in pak subprocess
Caused by error: 
! Could not solve package dependencies:
* IshidaMotohiro/RMeCab: Needs R >= 4.4.0
Type .Last.error to see the more details.

remotes::install_github() でインストールできるか確認してみました。

# GitHub から RMeCabのインストール
pak::pak("remotes")
remotes::install_github("IshidaMotohiro/RMeCab")

やはり、次のようなメッセージが出て、失敗しました。

Downloading GitHub repo IshidaMotohiro/RMeCab@HEAD
Running `R CMD build`...
* checking for file ‘/tmp/RtmpfkOmkh/remotesc393bc1416a/IshidaMotohiro-RMeCab-e65a5ee/DESCRIPTION’ ... OK
* preparing ‘RMeCab’:
* checking DESCRIPTION meta-information ... OK
* cleaning src
* checking for LF line-endings in source and make files and shell scripts
* checking for empty or unneeded directories
* building ‘RMeCab_1.14.tar.gz’
Installing package into ‘/home/m/R/x86_64-pc-linux-gnu-library/4.2’
(as ‘lib’ is unspecified)
ERROR: this R is version 4.2.2, package 'RMeCab' requires R >= 4.4.0
Warning message:
In i.p(...) :
  installation of package ‘/tmp/RtmpfkOmkh/filec3927bb86c/RMeCab_1.14.tar.gz’ had non-zero exit status

GitHub からインストールするためには、R のバージョンが要件を満たしていないようです。

R のバージョンの確認

# R のバージョン確認
R.version.string
[1] "R version 4.2.2 Patched (2022-11-10 r83330)"

やはり、R のバージョンは要件を満たしていませんでした。

pak で URL でのインストールに挑戦

次の install.packages() でのインストールを確認しました。

install.packages("RMeCab", repos = "https://rmecab.jp/R", type = "source")

これはインストールできました。
そこで、pak でも URL からインストールするためにマニュアルを確認してみると

Install a package from a URL:

pak::pkg_install(
  "url::https://cran.r-project.org/src/contrib/Archive/tibble/tibble_3.1.7.tar.gz"
)

The URL may point to an R package file, made with R CMD build, or a .tar.gz or .zip archive of a package tree.

とあったので、上記のコマンドのメッセージ

Installing package into ‘/home/m/R/x86_64-pc-linux-gnu-library/4.2’
(as ‘lib’ is unspecified)
trying URL 'https://rmecab.jp/R/src/contrib/RMeCab_1.10.tar.gz'
Content type 'application/x-gzip' length 519922 bytes (507 KB)
==================================================
downloaded 507 KB

から、次のコマンドを試してみました。

pak::pak("url::https://rmecab.jp/R/src/contrib/RMeCab_1.10.tar.gz")

これも失敗しました。

Error:
! error in pak subprocess
Caused by error: 
! Could not solve package dependencies:
* url::https://rmecab.jp/R/src/contrib/RMeCab_1.10.tar.gz: ! pkgdepends resolution error for url::https://rmecab.jp/R/src/contrib/RMeCab_1.10.tar.gz.
Caused by error: 
! Cannot extract /tmp/RtmpTmR8Mv/filec923d689177/99e6e5f-RMeCab_1.10.tar.gz, unknown archive type.
Type .Last.error to see the more details.

お手上げです。

最新の R をインストール

あきらめて、現在の R をアンインストールして、rig をつかって、最新の R をインストールしました。
Ubuntu/Debian の場合、次のコマンドで rig と R をインストールする。

# rig のリポジトリの署名キーの追加
`which sudo` curl -L https://rig.r-pkg.org/deb/rig.gpg -o /etc/apt/trusted.gpg.d/rig.gpg
# rig のリポジトリの追加
`which sudo` sh -c 'echo "deb http://rig.r-pkg.org/deb rig main" > /etc/apt/sources.list.d/rig.list'
# rig のインストール
`which sudo` apt update
`which sudo` apt install r-rig
# 最新の R のインストール
rig add release

R のバーションを確認してみると

# R のバージョンの確認
rig list

結果は

* name   version  aliases
------------------------------------------
* 4.4.2           release

RMeCab を GitHub からインストールするための R バージョンの要件を満たしていたので

# R の起動
R
# GitHub から RMeCabのインストール
pak::pak("IshidaMotohiro/RMeCab")

で、なんの問題もなく RMeCab のインストールに成功しました。

次を試してみると

library(RMeCab)
res <- RMeCabC("すもももももももものうち")
unlist (res)

結果は、正しく出力されました。

    名詞     助詞     名詞     助詞     名詞     助詞     名詞 
"すもも"     "も"   "もも"     "も"   "もも"     "の"   "うち"
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?