gobuffalo / buffalo

Rapid Web Development w/ Go
http://gobuffalo.io
MIT License
8.08k stars 577 forks source link

edit requirements in documentation #1664

Closed sadegh-shahbazi closed 4 years ago

sadegh-shahbazi commented 5 years ago

Hi Mark Bates buffalo is very good idea but it's really hard to install. I had windows 10, but just for buffalo I've installed ubuntu 19 I think I'ts better to add this steps to your documentation in gobuffalo.io :

-curl: sudo apt install curl

-git: sudo apt update sudo apt install git git config --global user.email "you@example.com" git config --global user.name "Your Name"

-node(I doubt the way of install node): best way: wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash export NVM_DIR="$HOME/.nvm" [ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh" # This loads nvm [ -s "$NVM_DIR/bash_completion" ] && . "$NVM_DIR/bash_completion" # This loads nvm bash_completion source ~/.bashrc command -v nvm nvm ls nvm install v10.15.3 more information at https://gist.github.com/d2s/372b5943bce17b964a79 OR: sudo apt install nodejs npm OR: download from ubuntu store OR: sudo apt-get install -y nodejs npm OR: sudo apt install linuxbrew-wrapper export PATH=$HOME/.linuxbrew/bin:$PATH hash -r brew install node OR: git clone --depth=1 git://github.com/npm/cli.git cd cli/scripts chmod +x install.sh sudo ./install.sh

yarn: curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add - echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list sudo apt update sudo apt install yarn

-webpack: sudo npm install --global webpack sudo npm install --save-dev webpack-cli

-node-sass: sudo npm install -g node-sass

-docker: sudo apt install apt-transport-https ca-certificates curl software-properties-common sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" sudo apt update sudo apt install docker-ce OR: (ubuntu 19): curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable edge" sudo apt-get update apt-cache policy docker-ce sudo apt-get install -y docker-ce more information at: https://medium.com/@Grigorkh/how-to-install-docker-on-ubuntu-19-04-7ccfeda5935

-python2: sudo apt install python-minimal

-database: don't forget to install the database for example: mysql

maybe it's better to: please install a new windows and try to install buffalo in your PC and record a movie and put it in youtube is it impossible to have more simple way to install buffalo?

Thanks to MostHated

sadegh-shahbazi commented 5 years ago

can you make a video about: how to deploy website with gobuffalo and docker and caddy etc...

MostHated commented 5 years ago

Type in nvm install --lts then it should install node 10.15.x, whatever it ends up being, type nvm use 10.15.x and then try again. (X being whatever number it shows when nvm install --lts finishes, I can't remember what it is off hand)

sadegh-shahbazi commented 5 years ago

I changed my os from windows to ubuntu, I don't know which distribution of linux is better for programming...

MostHated commented 5 years ago

Ubuntu is perfectly fine (and probably your best choice) for programming. I use Pop!_OS which is based on Ubuntu and it does great.

In the terminal copy and paste in this:

sudo apt-get install apt-transport-https build-essential ca-certificates libssl-dev libkrb5-dev software-properties-common gcc

Which installs most of the common things you might need. Install NVM by putting this in the terminal:

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash

Then after that is done, put in:

nvm install --lts

That should be enough to get you going. Depends on if you plan to use docker or what not, but that is simple to install as well.

hubyhuby commented 5 years ago

Yes I am using Ubuntu since buffalo 0.10. It has been working great. Also with 0.14.3 I get like others ( on linux and mac) troubles with plugin detection. In my own experience I had no problem installing buffalo 0.10 to 0.13 on various Ubuntu MATE systems.

Now I am looking forward to next 0.14.4 to see if the plugin stuff is sorted out ... Please let me know if you have the plugin detection problem on Ubuntu aswell ?

MostHated commented 5 years ago

I had issues as well when I tried to use NPM 12.1.0+, which was why I had recommended him to use LTS, as when I tried using that, everything worked perfect for me. Probably only a temporarily needed fix, but it did the job for the time being. You might be able to use other newer versions than the LTS version, but it was easy to test with just install --lts.

sadegh-shahbazi commented 5 years ago

thanks to MostHated . excuse me . what is the best OS to install on server for gobuffalo? centOS? ubuntuServer? OR another thing? it seems caddyserver.com is like apache2... do you recommend to install caddy? should we intall docker + caddy?

sadegh-shahbazi commented 5 years ago

this is buffalo g auth result: is this bug?

$ go get -u github.com/gobuffalo/buffalo-auth $ `buffalo g auth` Generate application components Usage: buffalo generate [command] Aliases: generate, g Available Commands: action Generate new action(s) mailer Generate a new mailer for Buffalo plugin [PLUGIN] generates a new buffalo plugin resource Generate a new actions/resource file task Generate a grift task Flags: -h, --help help for generate Use "buffalo generate [command] --help" for more information about a command.
MostHated commented 5 years ago

I have been personally using Ubuntu for my severs for probably 15 years or so. Sometimes it makes sense to use something like RedHat in an enterprise environment for specific situations, but most often it comes down to personal preference and I have no plans to use anything else anytime soon. As for your issue, unfortunately that is not something I can help with really, I am new to Buffalo myself and still learning about it. It would probably be best to make a new issue about it though so it doesn't get buried or overlooked.

hubyhuby commented 5 years ago

I had issues as well when I tried to use NPM 12.1.0+, which was why I had recommended him to use LTS, as when I tried using that, everything worked perfect for me. Probably only a temporarily needed fix, but it did the job for the time being. You might be able to use other newer versions than the LTS version, but it was easy to test with just install --lts.

I had issue with NPM too and it seems that it is not recommended anymore .... https://github.com/gobuffalo/buffalo/issues/1650

Dear Sadegh, Concerning the production setup, I personnaly use Nginx in front that redirects to the buffalo binary port.

hubyhuby commented 5 years ago

Dear @sadegh-shahbazi , It seems that you managed to at least install buffalo 0.14.3 on Ubuntu 18.04... I don t ;) I keep getting problems with this version. Could you copy me your .profile and your clara ? this would greately help ;)

Concerning auth, it is a plugin and I personaly had many problems in latest version 0.14 .... After installing the plugin; you may want to interact directly with it using directly the command "buffalo-auth" EDIT: My problems were mostly due to exported varaible has explained below.

hubyhuby commented 5 years ago

MY QUICK START GUIDE (as of mai 2019) : This is what seems to be the most straight forward first experience with Buffalo. Since sqlite requires C tool chain. Buffalo has first been release for unix platforms (mac and linux). And postgres has always been the default for the framework.

-Install Ubuntu 18.04 -install GO -Install Buffalo 0.14 -Install YARN -Install Postgres -Change user / password to postgres / postgres -Define your .profile (this may be the cause for plugin detection problems):

export GOPATH=/home/ME/Dropbox/go/ export GOROOT=/usr/lib/go/ export GOBIN=$GOPATH/bin export PROJBIN=/home/ME/Dropbox/go/bin/ export PATH=$PATH:$GOBIN:$PROJBIN export GO111MODULE=on -Create a project without (infamouse:) ) JS scripts (so you don t have to install NPM): buffalo new --skip-webpack coke -cd coke -Create DB : buffalo pop create -migrate buffalo pop migrate -Launch your first project : buffalo dev