[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"problem-detail-error-native-build-toolchain-missing":3},{"stack":4,"error":5,"seoName":6,"seoStack":7,"seo":8,"breadcrumb":10,"titlePrefix":18,"titleAccent":19,"lead":20,"facts":23,"why":40,"log":45,"fix":86,"engine":95,"related":103,"pitch":129},"dockerfile","native-build-toolchain-missing","Vite install fails because native modules need Python and a C++ toolchain","Dockerfile, Express, Nextjs and more",{"description":9},"A dependency has to be compiled during install, and this build image has no Python or C toolchain for it. Name an image that does in a panelalpha.yaml, or use a",[11,14,17],{"label":12,"href":13},"App Installations","\u002Fapps",{"label":15,"href":16},"Dockerfile","\u002Fapps\u002Fstacks\u002Fdockerfile",{"label":6},"Vite install fails because ","native modules need Python and a C++ toolchain",[21],{"text":22},"A dependency has to be compiled during install, and this build image has no Python or C toolchain for it. Name an image that does in a panelalpha.yaml, or use a release of this dependency that ships a prebuilt binary.",[24,29,32,36],{"label":25,"value":26,"tone":27,"tooltip":28},"Type","Error","err","An error that occurred in the deployed application. It is not necessarily a PanelAlpha Engine error, but we keep working on improvements so you run into fewer of them.",{"label":30,"value":31},"Seen","9 times · 7 variants",{"label":33,"value":34,"tooltip":35},"Where","Dockerfile, Express, Nextjs +2 more","Dockerfile, Express, Nextjs, Tanstack Start, Vite",{"label":37,"value":38,"tooltip":39},"Status","Observed","Our team will look into this soon, verify the cause and try to fix it in an upcoming release.",{"heading":41,"body":42},"Why it happens",[43],{"text":44},"The Vite build installs a native dependency, better-sqlite3, which runs node-gyp during npm install. The build image lacks Python and the native C\u002FC++ toolchain required to compile it. npm also reports that the detected npm version is below the package's declared requirement, although the missing compiler toolchain is the immediate failure.",{"heading":46,"block":47},"What the log looks like",{"header":48,"lines":49},"Deploy log",[50,54,58,62,66,70,74,78,82],{"segments":51},[52],{"text":53},"Starting stage: running",{"segments":55},[56],{"text":57},"Detected project type: Vite",{"segments":59},[60],{"text":61},"Compiling static assets on host",{"segments":63},[64],{"text":65},"npm error path \u002Fapp\u002Fnode_modules\u002Fbetter-sqlite3",{"segments":67},[68],{"text":69},"npm error command sh -c node-gyp rebuild",{"segments":71},[72],{"text":73},"npm error gyp ERR! find Python",{"segments":75},[76],{"text":77},"npm error gyp ERR! find Python --python was not set on the command line",{"segments":79},[80],{"text":81},"npm error gyp ERR! find Python - executable path is \"\"",{"segments":83},[84],{"text":85},"npm error code 1",{"heading":87,"steps":88,"block":92},"How to fix it",[89],[90],{"text":91},"Configure panelalpha.yaml to use a build image that includes Python and the required C\u002FC++ build tools, then redeploy. Alternatively, update better-sqlite3 or another dependency to a release with a prebuilt binary compatible with the selected Node version. Align npm with the package requirement (npm 11 or later) and regenerate the lockfile if dependency versions change.",{"header":93,"lines":94},"Fix by hand",[],{"heading":96,"body":97,"block":100},"How PanelAlpha Engine solves it",[98],{"text":99},"For Vite builds with native Node dependencies, validate the build image for Python and compiler tools before starting npm install. Report the failing package and distinguish the npm engine warning from the fatal node-gyp error.",{"header":101,"lines":102},"",[],{"heading":104,"items":105},"Apps affected",[106,110,113,117,120,123,126],{"title":107,"badge":108,"tone":27,"href":109},"simstudio","2 occurrences","\u002Fapps\u002Fsimstudioai\u002Fsim",{"title":111,"badge":108,"tone":27,"href":112},"vertex","\u002Fapps\u002Fvertex-app\u002Fvertex",{"title":114,"badge":115,"tone":27,"href":116},"Retroassembly","1 occurrence","\u002Fapps\u002Farianrhodsandlot\u002Fretroassembly",{"title":118,"badge":115,"tone":27,"href":119},"TimeOff.Management","\u002Fapps\u002Ftimeoff-management\u002Ftimeoff-management-application",{"title":121,"badge":115,"tone":27,"href":122},"poke","\u002Fapps\u002Fcodeberg.org\u002Fashleyirispuppy\u002Fpoke",{"title":124,"badge":115,"tone":27,"href":125},"termix","\u002Fapps\u002Ftermix-ssh\u002Ftermix",{"title":127,"badge":115,"tone":27,"href":128},"wemux","\u002Fapps\u002Fwemux-ai\u002Fwemux",{"heading":130,"body":131,"footNote":132,"docsLabel":133,"docsHref":134},"Try PanelAlpha Engine yourself.","The easiest way to turn your server into a safe, controlled environment for your AI agent. Deploy, manage and maintain any project from Claude Code, Cursor, Codex or any other MCP client. Open source under Apache 2.0, free to run.","Requires Ubuntu 24.04 or 26.04 · 2 GB RAM · 1 CPU","Read the documentation","https:\u002F\u002Fpanelalpha.com\u002Fdocs"]