ERPnext installation problem

I tried to install ERPnext.
following the steps i got the following errors
after issuing this command
bench get-app frappe GitHub - frappe/frappe: Low code web framework for real world applications, in Python and Javascript
message displays
fatal: destination path ‘frappe’ already exists and is not an empty directory.
then i run the next command
bench get-app erpnext GitHub - frappe/erpnext: Free and Open Source Enterprise Resource Planning (ERP)
message displays
fatal: destination path ‘erpnext’ already exists and is not an empty directory.
then i run the next command
bench new-site site1.local
message displays
frappe app is not installed. Run the following command to install frappe
bench get-app frappe GitHub - frappe/frappe: Low code web framework for real world applications, in Python and Javascript
what is going on it keeps me rotating. did i miss some thing. what is the best practic in installing ERPnext locally
Thanks

rm -rf the bench and init again, mostly the apps didn’t install in the virtualenvironment

rm -rf the bench and init again, mostly the apps didn’t install in the virtualenvironment

Yeah - but depending on how far your installation has proceeded you might have to do

sudo rm -rf  ~/bench-repo/ ~/frappe-bench/

Based on recent experience - I have found it horrible to get past a failed installation.

For all installation I use the setup_frappe.sh script. As for dev omit the --setup-production as per instruction on github.

Also the instruction on github for a later production setup on the same machine returns an error indicating user is missing and results in the conf files in frappe-bench config being writeable by root only.

I have not been able to resolve the error - other posts indicate it should be frappe but the error persist - user not found.

So - for production - I use the single commands

bench setup supervisor
sudo ln ~/frappe-bench/config/supervisor.conf /etc/supervisor/conf.d/frappe.conf
bench setup nginx
sudo ln ~/frappe-bench/config/nginx.conf /etc/nginx/conf.d/frappe.conf

Fortunately VM exist :slight_smile: - and a netboot.iso.

But if you can’t do that, then have a look at the easy-install script - setup_frappe.sh - and then do a

sudo apt-get remove --purge <package>

and back on horse again

b.rgds

FH

1 Like

I got this error after running the
pkg_resources.DistributionNotFound: bench==0.1
sudo rm -rf ~/bench-repo/ ~/frappe-bench/

@fhdk Please double check if the user is root in supervisor.conf

@pdvyas
my user in ~/frappe-bench/config/supervisor.conf is frappe

in the 3 program-sections I have

...
user=frappe
...

As you may expect I also have a group-section

...
[group:frappe]
programs=frappe-web,frappe-worker,frappe-workerbeat
...

FTR: This is not the VBoxVM but a clean ubuntu server installation.

doing

$ grep "frappe" /etc/passwd
$ grep "frappe" /etc/group

comes up empty.

Could it be possible that your installation - unless otherwise told - expects the logged on user be frappe:frappe?

b.rgds

FH

remove the supervisor config file, change the user in frappe-bench/config.json and setup supervisor again. Should put the correct username then

@khaludi2
I don’t get it?

To clarify my previous post - the wording is to be substituted with the actual package you want to remove

WARNING - WARNING - PROCEED AT OWN RISK - THINGS CAN GET UGLY HERE!!!

Eg. on Ubuntu - to remove every trace of a failed erpnext installation you need to login with the username used when setting up erpnext. Then open a terminal eg. Ctrl+Alt+T.

Issue below command and verify the existence of the bench and frappe folders

$ ls bench* frappe*

Issue below command and type your passwd when prompted. You could use above command to verify removal.

$ sudo rm -rf bench-repo/ frappe-bench/

You probably have a file setup_frappe.sh - use below command to list its content

$ cat setup_frappe.sh

Line 187 in the original script reads (as a one-liner)

run_cmd sudo apt-get install \
python-dev python-setuptools build-essential python-mysqldb \
git memcached ntp vim screen htop mariadb-server \
mariadb-common libmariadbclient-dev libxslt1.1 libxslt1-dev \
redis-server libssl-dev libcrypto++-dev postfix nginx \
supervisor python-pip fontconfig libxrender1 libxext6 \
xfonts-75dpi xfonts-base -y

Reverse this (the -y param is assuming yes to all prompts)

sudo apt-get remove --purge \
python-dev python-setuptools build-essential python-mysqldb \
git memcached ntp vim screen htop mariadb-server \
mariadb-common libmariadbclient-dev libxslt1.1 libxslt1-dev \
redis-server libssl-dev libcrypto++-dev postfix nginx \
supervisor python-pip fontconfig libxrender1 libxext6 \
xfonts-75dpi xfonts-base -y

b.rgds

FH

@pdvyas
To clarify - the user change - are you referring to the loggedon user or …?

@pdvyas

Checked the frappe-bench/config.json

$ cat ~/frappe-bench/config.json
...
"frappe_user": "mylocaluser",
...

As described above the supervisor.conf has

user=frappe

Removing the offending config/supervisor.conf

$ rm ~/frappe-bench/config/supervisor.conf

then

$ cd ~/frappe-bench && bench setup supervisor && cd ..

recreates the ~/frappe-bench/config/supervisor.conf which now reference the correct user.

So the answer to the clarification is - the config generation assumes user=frappe and only by removing and regenerating config the correct username is used.

So I could have done

$ nano ~/frappe-bench/config/supervisor.conf

and replaced

user=frappe

with

user=mylocaluser

b.rgds

FH

yes, you’re right, setup_frappe.sh should set the user in the config.

Ok Thanks guys,
I did a fresh installation and it is ok now.
but how about the bench start case, it requires me to be issued when ever i restart or log off/on the server. Is there any means to keep the bench started what so ever the case unless i manually stop it
Thanks

Yes, you will have to set up ERPNext in production mode which will enable
the always on server mode.

See - bench/README.md at master · frappe/bench · GitHub