bench.utils.CommandFailedError: npm install

Thankyou @Arreis, finally it is working by creating a new user.

You’re welcome @Khadija. I think that running ERPNext with a separated user is the recommended way although I’m not really sure why as I’m just getting started with this.

At the end, I was also able to make it work with my regular user by removing bench ( with pip ) , uninstalling yarn ( with npm ), purging nodejs (with apt) and then installing these packages again only this time I also installed yarn with apt instead of npm.

I’m not sure what was the exact step that made ERPNext recognize yarn with my regular user, but after I did this it started working.

Ok I will try this too then

Be aware that may depend on OS and/or host environment?

@BKM notes some caveats for eg Ubuntu 18.04 -ERPNext installation - #9 by bkm

Sorry but can you explain?

Just search to find BKM’s install experience notes with Ubuntu, CentOS and Debian versions, and also VPS host environments like the Google Cloud Platform (GCP).

For ERPNext to work on the various distinct platforms that are sought may demand some trial and error for a successful install, with clues and pointers that user’s report here.

One common issue has to do with permissions - the user account must have sudo privileges, but to install as root to overcome that causes problems too.

OK now I am trying to understand all this

Did you get this error after installing with a new user
INFO:bench.utils:setting up backups
crontabs/khadija/: fopen: Permission denied
INFO:bench.utils:setting up auto update
/var/spool/cron/: mkstemp: Permission denied
crontabs/khadija/: fopen: Permission denied
Bench frappe-bench initialized
/var/spool/cron/: mkstemp: Permission denied

I did not :/. By any chance did you initialized the bench with another user? If so, either change the files ownership for the whole bench folder recursively to the new user or remove the bench and start the process from scratch with the new one.

Yes that was the problem.

yarn global add yarn

it works

You can also use

sudo npm install -g yarn

1 Like

actually, it doesn’t work for me…

I ended up by manually install parchment on another directory then overwrite it.

mkdir ~/temp_parchment
cd ~/temp_parchment
npm init -y
npm install parchment@quilljs/parchment#487850f7eb030a6c4e750ba809e58b09444e0bdb

rm -Rf ~/frappe-bench/apps/frappe/node_modules/parchment
cp -Rf node_modules/parchment/ ~/frappe-bench/apps/frappe/node_modules

My problem is that the file frappe-bench/patches.txt is lack of line: bench.patches.v4.install_yarn #2