This issue doesn't come when I run the same command with sudo
, as expected. What am I missing here? I've checked for similar posts here, and generally. The same goes for npm run dev
. Both npm
and pnpm
have the same issue. node_modules
was installed without any root permissions. No issues with sudo npm run dev
/sudo pnpm run dev
someuser@someuser-normalUbuntu:~/projects/nextjs-dashboard$ pnpm run dev
> nextjs-dashboard@0.1.0 dev /home/someuser/projects/nextjs-dashboard
> next dev
▲ Next.js 14.0.4
- Local: http://localhost:3000
- Environments: .env.development
Error: EACCES: permission denied, unlink '/home/someuser/projects/nextjs-dashboard/.next/app-build-manifest.json'
at async Object.unlink (node:internal/fs/promises:1059:10)
at async unlinkPath (/home/someuser/projects/nextjs-dashboard/node_modules/.pnpm/next@14.0.4_react-dom@18.2.0_react@18.2.0_sass@1.69.6/node_modules/next/dist/lib/recursive-delete.js:25:13)
at async Promise.all (index 0)
at async recursiveDelete (/home/someuser/projects/nextjs-dashboard/node_modules/.pnpm/next@14.0.4_react-dom@18.2.0_react@18.2.0_sass@1.69.6/node_modules/next/dist/lib/recursive-delete.js:51:5)
at async Span.traceAsyncFn (/home/someuser/projects/nextjs-dashboard/node_modules/.pnpm/next@14.0.4_react-dom@18.2.0_react@18.2.0_sass@1.69.6/node_modules/next/dist/trace/trace.js:147:20)
at async HotReloader.start (/home/someuser/projects/nextjs-dashboard/node_modules/.pnpm/next@14.0.4_react-dom@18.2.0_react@18.2.0_sass@1.69.6/node_modules/next/dist/server/dev/hot-reloader-webpack.js:587:9)
at async startWatcher (/home/someuser/projects/nextjs-dashboard/node_modules/.pnpm/next@14.0.4_react-dom@18.2.0_react@18.2.0_sass@1.69.6/node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.js:1197:5)
at async setupDevBundler (/home/someuser/projects/nextjs-dashboard/node_modules/.pnpm/next@14.0.4_react-dom@18.2.0_react@18.2.0_sass@1.69.6/node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.js:1812:20)
at async Span.traceAsyncFn (/home/someuser/projects/nextjs-dashboard/node_modules/.pnpm/next@14.0.4_react-dom@18.2.0_react@18.2.0_sass@1.69.6/node_modules/next/dist/trace/trace.js:147:20)
at async initialize (/home/someuser/projects/nextjs-dashboard/node_modules/.pnpm/next@14.0.4_react-dom@18.2.0_react@18.2.0_sass@1.69.6/node_modules/next/dist/server/lib/router-server.js:72:30) {
errno: -13,
code: 'EACCES',
syscall: 'unlink',
path: '/home/someuser/projects/nextjs-dashboard/.next/app-build-manifest.json'
}
I use Ubuntu 22.04.
someuser@someuser-normalUbuntu:~$ node -v
v21.6.2
someuser@someuser-normalUbuntu:~$ npm -v
10.2.4
someuser@someuser-normalUbuntu:~$ pnpm -v
8.15.3
It works when I do
sudo chown -R ${USER} folder_name
But that doesn't solve the larger issue
The issue is with the permission your project(nextjs-dashboard
) directory has which is not allowing you to execute and install dependencies and peer dependencies. To resolve it so that your particular directory has proper permissions:
sudo chown -R ${USER} /home/someuser/projects/nextjs-dashboard
sudo chmod -R 755 /home/someuser/projects/nextjs-dashboard