horejsek / lunchtimeandel

Web page with meals of restaurants around Anděl in Prague.
www.lunchtimeandel.cz
Other
6 stars 6 forks source link

localdev target chybi v Makefilu #16

Open jhajas opened 8 years ago

jhajas commented 8 years ago
lunchtimeandel $ make localdev
make: *** No rule to make target `localdev'.  Stop.
lunchtimeandel $ make
make run
make run-forever
make test
make compile
make watch
make localdev

Koukal jsem ze v Makefile je target install-dependencies, ale ten pocita s apt-get. Nejake doporuceni pres co nainstalovat zavislosti na macOS?

pavelsterba commented 8 years ago

Tuším že jsem to dělal přes Homebrew

horejsek commented 8 years ago

Vůbec netuším. Sice Mac používám, ale jen jako hezkou konzoli k Debianím serverům. :-) Popravdě lunchtimeandel vznikl na základě toho, že jsem si chtěl vyzkoušet NodeJS a Closure Library, takže ten stack není zrovna nejjednodušší.

Pro vývoj na backend straně by mělo stačit npm (a zavolat npm install) a mongodb. Pro frontend je potřeba Closure Library, což chce Javu, a submoduly (bootstrap, font awesome a tak). Bohužel ale ten commit v repu Closure Library není, takže nejde vycheckoutovat a s poslední verzí to nefunguje. To řeší @pavelsterba.

horejsek commented 8 years ago

Help jsem upravil. Kdyžtak můžete přidat i druhý target pro Mac. Každopádně si pohrávám s myšlenkou lunchtimeandel zase využít pro vyzkoušení si něčeho nového, zatím to vypadá na Elm. Ale otázka, zda se to stane a kdy. Může mne popadnout chuť za týden, ale taky klidně nikdy. :-)

jhajas commented 8 years ago

hmm, tak aktualne jsem zkoncil na tom, ze nevim co nainstalovat aby tam byl calcdeps.py:

$ make compile
coffee -cb ./backend ./frontend ./tests
java -jar libs/closure-templates/SoyToJsSrcCompiler.jar \
        --shouldProvideRequireSoyNamespaces \
        --shouldGenerateGoogMsgDefs \
        --bidiGlobalDir 1 \
        --outputPathFormat frontend/templates/template.js \
        --srcs frontend/templates/template.soy
java -jar libs/XtbGenerator.jar \
        --lang cs \
        --translations_file frontend/templates/messages.xtb \
        --xtb_output_file frontend/templates/messages.xtb \
        --js frontend/templates/template.js
python libs/closure-library//closure/bin/calcdeps.py \
        --compiler_jar libs/closure-compiler.jar \
        --output_mode compiled \
        --path libs/closure-library/ \
        --path="libs/closure-templates/soyutils_usegoog.js" \
        --path="frontend/templates/template.js" \
        --input="frontend/scrolling.js" \
        --input="frontend/restaurant.js" \
        --input="frontend/choicehelp.js" \
        --input="frontend/restaurants.js" \
        --input="frontend/search.js" \
        --input="frontend/api.js" \
        --compiler_flags="--translations_file=frontend/templates/messages.xtb" \
        --compiler_flags="--externs=frontend/externs/googlemapsv3.js" \
        --compiler_flags="--warning_level=VERBOSE" \
        --compiler_flags="--compilation_level=ADVANCED_OPTIMIZATIONS" \
        > public/app.min.js;
python: can't open file 'libs/closure-library//closure/bin/calcdeps.py': [Errno 2] No such file or directory
make: *** [compile-javascript] Error 2

tohle jsem zatim zkousel:

install-dependencies-macos:
    sudo brew install mongodb
    sudo brew install node
    sudo brew install node-build
    curl https://www.npmjs.com/install.sh | sudo bash
    npm install closure closurecompiler calcdeps
    sudo npm install forever supervisor mocha -g coffee-script
horejsek commented 8 years ago

calcdeps.py patří do Closure Library. V repu to je jako submodule. Ale momentálně tam je odkaz na neexistující commit a s novým nefunguje, což začal řešit @pavelsterba.

jhajas commented 8 years ago

Jestli to chapu dobre, tak dokud to @pavelsterba nevyresi, tak se v podstate neda pro lunchtimeandel nic vyvijet, protoze nejde nakonfigurovat devel environment. Chtel jsem pridat nejake nove hospody, kam chodime na obed, ale zda se ze, abych to byl schopen odladit, tak musim pockat...

Chapu to dobre?

horejsek commented 8 years ago

Nope. Pouze pokud chceš něco vylepšit na front-endu. Pro přidání restaruace stačí přidat soubor do backend/lunchmenuloader a zaregistrovat v index.coffee. Front-endový JS je zkompilovaný už v Gitu, takže stačí pustit (make run) a nemusíš recompilovat všechno.

jhajas commented 8 years ago

Aha, ale kdyz pustim make run, tak dostavam cyklicky tohle:

$ make run
coffee -cb ./backend ./frontend ./tests
# Make sure that nothing is running on port 3000.
if [ `lsof -i tcp:3000 | grep LISTEN | cut -d" " -f2` ]; then kill `lsof -i tcp:3000 | grep LISTEN | cut -d" " -f2`; fi
lsof: WARNING: can't stat() smbfs file system /private/tmp/mntPtnZkNdK
      Output information may be incomplete.
      assuming "dev=2e000013" from mount table
cd backend; supervisor lunchtime.js

Running node-supervisor with
  program 'lunchtime.js'
  --watch '.'
  --extensions 'node,js'
  --exec 'node'

Starting child process with 'node lunchtime.js'
Watching directory '/Users/ja/src/lunchtimeandel/backend' for changes.
Press rs for restarting the process.
Express server listening on port 3000

/Users/ja/src/lunchtimeandel/node_modules/mongodb/lib/server.js:242
        process.nextTick(function() { throw err; })
                                      ^
Error: connect ECONNREFUSED 127.0.0.1:27017
    at Object.exports._errnoException (util.js:1007:11)
    at exports._exceptionWithHostPort (util.js:1030:20)
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1080:14)
Program node lunchtime.js exited with code 1

Starting child process with 'node lunchtime.js'
Express server listening on port 3000

/Users/ja/src/lunchtimeandel/node_modules/mongodb/lib/server.js:242
        process.nextTick(function() { throw err; })

tezko rict co je spatne :(

horejsek commented 8 years ago

Hmm. To vypadá, že nové knihovny fungují nějak jinak. To jsem jednou už opravoval a zdá se, že jsem zapomněl napsat přesné závislosti do package.json. A nebo to bude novější verzí nodu, u mne to běží od začátku na squeezovi, což je nějaká prapůvodní verze nodu a udělali tam taky docela pokrok.

To budu muset vážně už přepsat zase do novějšího experimentálního jazyku. :-))

horejsek commented 8 years ago

O jakou restauraci se jedná, kterou chceš přidat?

jhajas commented 8 years ago

Chtel jsem pridat Hromadky: http://www.nahromadkove.cz/index.php/denni-menu a pak se podivat proc nefunguje Lokal Blok a Anděl.

horejsek commented 8 years ago

Ok. Ještě chvíli posečkej, brzy bude přepsané do něčeho aktuálního a jednoduchého. :-)