Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Unable to create NextJS app with Bun #16362

Open
yanek1 opened this issue Jan 12, 2025 · 1 comment
Open

Unable to create NextJS app with Bun #16362

yanek1 opened this issue Jan 12, 2025 · 1 comment
Labels
bug Something isn't working cli Something to do with CLI arguments

Comments

@yanek1
Copy link

yanek1 commented Jan 12, 2025

What version of Bun is running?

1.1.43+76800b049

What platform is your computer?

Microsoft Windows NT 10.0.26100.0 x64

What steps can reproduce the bug?

Can't create a NextJS project with bun create next-app@latest

What is the expected behavior?

Bun successfully creates a NextJS project and runs it

What do you see instead?

PS C:\Users\Ján\Documents\Projects> bun create next-app@latest
√ What is your project named? ... test
√ Would you like to use TypeScript? ... No / Yes
√ Would you like to use ESLint? ... No / Yes
√ Would you like to use Tailwind CSS? ... No / Yes
√ Would you like your code inside a `src/` directory? ... No / Yes
√ Would you like to use App Router? (recommended) ... No / Yes
√ Would you like to use Turbopack for `next dev`? ... No / Yes
√ Would you like to customize the import alias (`@/*` by default)? ... No / Yes
Creating a new Next.js app in C:\Users\Ján\Documents\Projects\test.

Using bun.

Initializing project with template: app-tw


Installing dependencies:
- react
- react-dom
- next

Installing devDependencies:
- typescript
- @types/node
- @types/react
- @types/react-dom
- postcss
- tailwindcss
- eslint
- eslint-config-next
- @eslint/eslintrc

'bun' is not recognized as an internal or external command,
operable program or batch file.
3 |               || (${u} == "string" && ${a} && ${a} == +${a})`).assign(h,(0,l._)`+${a}`);return;case"integer":o.elseIf((0,l._)`${u} === "boolean" || ${a} === null
4 |               || (${u} === "string" && ${a} && ${a} == +${a} && !(${a} % 1))`).assign(h,(0,l._)`+${a}`);return;case"boolean":o.elseIf((0,l._)`${a} === "false" || ${a} === 0 || ${a} === null`).assign(h,false).elseIf((0,l._)`${a} === "true" || ${a} === 1`).assign(h,true);return;case"null":o.elseIf((0,l._)`${a} === "" || ${a} === 0 || ${a} === false`);o.assign(h,null);return;case"array":o.elseIf((0,l._)`${u} === "string" || ${u} === "number"
5 |               || ${u} === "boolean" || ${a} === null`).assign(h,(0,l._)`[${a}]`)}}}function assignParentData({gen:t,parentData:r,parentDataProperty:i},o){t.if((0,l._)`${r} !== undefined`,(()=>t.assign((0,l._)`${r}[${i}]`,o)))}function checkDataType(t,r,i,o=h.Correct){const a=o===h.Correct?l.operators.EQ:l.operators.NEQ;let c;switch(t){case"null":return(0,l._)`${r} ${a} null`;case"array":c=(0,l._)`Array.isArray(${r})`;break;case"object":c=(0,l._)`${r} && typeof ${r} == "object" && !Array.isArray(${r})`;break;case"integer":c=numCond((0,l._)`!(${r} % 1) && !isNaN(${r})`);break;case"number":c=numCond();break;default:return(0,l._)`typeof ${r} ${a} ${t}`}return o===h.Correct?c:(0,l.not)(c);function numCond(t=l.nil){return(0,l.and)((0,l._)`typeof ${r} == "number"`,t,i?(0,l._)`isFinite(${r})`:l.nil)}}r.checkDataType=checkDataType;function checkDataTypes(t,r,i,o){if(t.length===1){return checkDataType(t[0],r,i,o)}let a;const c=(0,u.toHash)(t);if(c.array&&c.object){const t=(0,l._)`typeof ${r} != "object"`;a=c.null?t:(0, | ... truncated
6 |     missingProperty: ${a},
7 |     depsCount: ${r},
8 |     deps: ${i}}`};const l={keyword:"dependencies",type:"object",schemaType:"object",error:r.error,code(t){const[r,i]=splitDependencies(t);validatePropertyDeps(t,r);validateSchemaDeps(t,i)}};function splitDependencies({schema:t}){const r={};const i={};for(const o in t){if(o==="__proto__")continue;const a=Array.isArray(t[o])?r:i;a[o]=t[o]}return[r,i]}function validatePropertyDeps(t,r=t.schema){const{gen:i,data:a,it:l}=t;if(Object.keys(r).length===0)return;const u=i.let("missing");for(const h in r){const d=r[h];if(d.length===0)continue;const p=(0,c.propertyInData)(i,a,h,l.opts.ownProperties);t.setParams({property:h,depsCount:d.length,deps:d.join(", ")});if(l.allErrors){i.if(p,(()=>{for(const r of d){(0,c.checkReportMissingProp)(t,r)}}))}else{i.if((0,o._)`${p} && (${(0,c.checkMissingProp)(t,d,u)})`);(0,c.reportMissingProp)(t,u);i.else()}}}r.validatePropertyDeps=validatePropertyDeps;function validateSchemaDeps(t,r=t.schema){const{gen:i,data:o,keyword:l,it:u}=t;const h=i.name("valid");for(const d in r){if((0,a.alwa | ... truncated

error: spawn bun ENOENT
     errno: "ENOENT",
   syscall: "spawn bun",
      path: "bun",
 spawnargs: [ "install" ],
      code: "ENOENT",

      at notFoundError (C:\Users\Ján\AppData\Local\Temp\bunx-97657954-create-next-app@latest\node_modules\create-next-app\dist\index.js:8:51426)
      at verifyENOENT (C:\Users\Ján\AppData\Local\Temp\bunx-97657954-create-next-app@latest\node_modules\create-next-app\dist\index.js:8:51805)
      at <anonymous> (C:\Users\Ján\AppData\Local\Temp\bunx-97657954-create-next-app@latest\node_modules\create-next-app\dist\index.js:8:51660)
      at #handleOnExit (node:child_process:685:14)

Bun v1.1.43 (Windows x64)

Additional information

When I try to install Next by itself with bun install next (In a different project I created on a different PC and then downloaded to the PC where I am trying to run it now), the command executes without a problem but then executing bun run dev throws an error: "bun: command not found: next
error: script "dev" exited with code 1."

Also when attempting to install next globally bun install --global next I get an error "error: An internal error occurred (InvalidWtf8)"

@yanek1 yanek1 added bug Something isn't working needs triage labels Jan 12, 2025
@yanek1
Copy link
Author

yanek1 commented Jan 12, 2025

I think I figured it out right after posting the report. I think Bun can't cope with accented characters in either the PATH or somewhere. My local username is "Ján" which has á in it. I tried to create a different user with the name "test" and running the Bun commands and everything ran as expected.

@RiskyMH RiskyMH added cli Something to do with CLI arguments and removed needs triage labels Feb 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working cli Something to do with CLI arguments
Projects
None yet
Development

No branches or pull requests

2 participants