npx สร้าง react app ไม่ได้ it does not contain a package.json file

ในช่วงนี้ผมได้มีโอกาสมาเขียน React แบบจริงจัง ซึ่งปกติผมจะเป็น React แล้วเอาไปวางไว้บน Web server อื่น ๆ เช่น PHP หรือ Node.js และ React จะเขียนเป็น Frontend script เท่านั้น และตอนนี้ผมได้ลองมาเขียน React web app แบบเต็ม ๆ เลย คือเริ่มตั้งแต่การสร้าง project ของ React เองเลยครับ แต่ว่าปัญหาแรกที่เจอเลยก็คือ การสร้าง project ด้วยการสั่ง npx ไม่ได้ครับ

เมื่อเราสร้าง project ของ React ผ่าน npx เราจะใช้คำสั่งดังนี้

npx create-react-app my-react

แต่ผลที่ได้คือ

npm ERR! Could not install from "...\AppData\Roaming\npm-cache_npx\11876" as it does not contain a package.json file.

ปัญหาที่พบนั้นเกิดจาก Windows ของเรามีชื่อ users ที่เป็นช่องว่าง ทำให้ npm ของเราเข้าไปอ่านไฟล์ไม่ได้นั้นเอง วิธีการแก้ไขก็คือการกำหนด environment ให้ถูกต้องครับ โดยเราสามารถกำหนด environment ได้ดังนี้

npm config set cache "C:\Users\Picharnan~1BP\AppData\Roaming\npm-cache" --global

โดยช่องว่างให้เราแทนด้วย ~1 ครับ เพียงเท่านี้เราก็จะสั่ง npx ให้สร้าง react project ได้แล้วครับ