## 事象
[[nvim-treesitter]]を `main` ブランチに変更して最新化し、[[Neovim]]を起動すると以下のエラーが発生する。
```error
Failed to run `config` for nvim-treesitter
...ashi-aikawa/.config/nvim/lua/plugins/nvim-treesitter.lua:8: module 'nvim-treesitter.configs' not found:
no field package.preload['nvim-treesitter.configs']
cache_loader: module 'nvim-treesitter.configs' not found
cache_loader_lib: module 'nvim-treesitter.configs' not found
no file './nvim-treesitter/configs.lua'
no file '/Users/runner/work/neovim/neovim/.deps/usr/share/luajit-2.1/nvim-treesitter/configs.lua'
no file '/usr/local/share/lua/5.1/nvim-treesitter/configs.lua'
no file '/usr/local/share/lua/5.1/nvim-treesitter/configs/init.lua'
no file '/Users/runner/work/neovim/neovim/.deps/usr/share/lua/5.1/nvim-treesitter/configs.lua'
no file '/Users/runner/work/neovim/neovim/.deps/usr/share/lua/5.1/nvim-treesitter/configs/init.lua'
no file './nvim-treesitter/configs.so'
no file '/usr/local/lib/lua/5.1/nvim-treesitter/configs.so'
no file '/Users/runner/work/neovim/neovim/.deps/usr/lib/lua/5.1/nvim-treesitter/configs.so'
no file '/usr/local/lib/lua/5.1/loadall.so'
no file '/Users/tadashi-aikawa/.local/share/nvim/lazy/blink.cmp/lua/blink/cmp/fuzzy/rust/../../../../../target/release/libnvim-treesitter/configs.dylib'
no file '/Users/tadashi-aikawa/.local/share/nvim/lazy/blink.cmp/lua/blink/cmp/fuzzy/rust/../../../../../target/release/nvim-treesitter/configs.dylib'
no file './nvim-treesitter.so'
no file '/usr/local/lib/lua/5.1/nvim-treesitter.so'
no file '/Users/runner/work/neovim/neovim/.deps/usr/lib/lua/5.1/nvim-treesitter.so'
no file '/usr/local/lib/lua/5.1/loadall.so'
no file '/Users/tadashi-aikawa/.local/share/nvim/lazy/blink.cmp/lua/blink/cmp/fuzzy/rust/../../../../../target/release/libnvim-treesitter.dylib'
no file '/Users/tadashi-aikawa/.local/share/nvim/lazy/blink.cmp/lua/blink/cmp/fuzzy/rust/../../../../../target/release/nvim-treesitter.dylib'
# stacktrace:
- ~/.config/nvim/lua/plugins/nvim-treesitter.lua:8 _in_ **config**
- vim/_core/editor.lua:0 _in_ **cmd**
- /snacks.nvim/lua/snacks/picker/actions.lua:139 _in_ **jump**
- /snacks.nvim/lua/snacks/picker/actions.lua:42
```
### 環境
| 対象 | バージョン |
| ------------------- | --------- |
| [[Neovim]] | 0.12.0 |
| [[nvim-treesitter]] | `4916d65` |
### 設定
```lua
return {
"nvim-treesitter/nvim-treesitter",
cond = true,
branch = "main",
event = { "BufNewFile", "BufRead" },
build = ":TSUpdate",
config = function()
require("nvim-treesitter.configs").setup({
ensure_installed = {
-- 省略
},
sync_install = false,
auto_install = true,
ignore_install = {},
modules = {},
highlight = {
enable = true,
disable = { "ini" },
},
-- texobjectsはパフォーマンスの問題から利用しない
})
end,
vim.treesitter.language.register("bash", "zsh"),
}
```
## 原因
`master` から `main` に変えたのに、`main` 用の設定になっていないから。
## 解決方法
設定を変更する。
- `setup` はデフォルト設定を使うなら不要
- `setup.ensure_installed` はなくなったので `install` を呼び出す
- `setup.highlight` はなくなったので [[autocmd (Neovim)|autocmd]] を使う
```lua
return {
"nvim-treesitter/nvim-treesitter",
branch = "main",
event = { "BufNewFile", "BufRead" },
build = ":TSUpdate",
init = function()
vim.treesitter.language.register("bash", "zsh")
end,
config = function()
require("nvim-treesitter").install({
-- 省略
})
-- Highlighting
vim.api.nvim_create_autocmd("FileType", {
pattern = "*",
callback = function(args)
pcall(vim.treesitter.start, args.buf)
end,
})
end,
}
```
## 参考
この問題が解消しても以下の問題にあたることもある。
<div class="link-card-v2">
<div class="link-card-v2-site">
<img class="link-card-v2-site-icon" src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/favicon-64.png" />
<span class="link-card-v2-site-name">Minerva</span>
</div>
<div class="link-card-v2-title">
📝nvim-treesitterをmainブランチで起動すると各言語のパーサーをインストールができない
</div>
<div class="link-card-v2-content">Neovim 0.12.0でnvim-treesitter mainブランチを使い、:TSUpdateで各言語パーサーをインストールしようとしたところ、`Error during "tree-sitter build": ENOENT: no such file or directory (cmd): 'tree-sitter'`が発生した事象である。原因はtree-sitter未インストールであり、miseやHomebrewでtree-sitterを導入したところ解消した事例である。</div>
<img class="link-card-v2-image" src="https://publish-01.obsidian.md/access/35d05cd1bf5cc500e11cc8ba57daaf88/Notes/attachments/troubleshooting.webp" />
<a data-href="📝nvim-treesitterをmainブランチで起動すると各言語のパーサーをインストールができない" class="internal-link"></a>
</div>
%%[[📝nvim-treesitterをmainブランチで起動すると各言語のパーサーをインストールができない]]%%