## 事象 [[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ブランチで起動すると各言語のパーサーをインストールができない]]%%