Closed cliftonc closed 13 years ago
It might not be ideal, but I've found the node-boilerplate approach to be quick and convenient. ( https://github.com/robrighter/node-boilerplate )
An initial version is up there, though I am thinking I will probably switch to the approach I took with another app (express-mvc-bootstrap) where you install it as a global library, and the script then creates an empty site for you in whatever locations you specifiy.
Thinking that actually making the default install a library via NPM, and then using this type of approach to create a clean app is the best option ... https://github.com/cliftonc/express-mvc-bootstrap/blob/master/eb
Ok, there is now a script in the bin folder called 'calipso'. If we like this approach (will blog about it and see if anyone has a view):
you can then:
calipso create-site calipso test calipso
There is an initial release in npm now, but will continue to direct people to github for now until we agree this is the best approach.
I cloned calipso again (already have the dependencies installed, and have calipso working from another folder), and tried install.sh, it failed at the sanity test:
./bin/install.sh
Using Node version: v0.4.8
Using NPM version: 1.0.6
You have write permission to the current folder.
The current folder appears to be Calipso (or something like it!)
Checking for libexpat ...
Libexpat OK
Installing dependencies via NPM ... please be patient this can take a few minutes ...
./install.sh: line 2: [: too many arguments
Checking for program g++ or c++ : /usr/bin/g++
Checking for program g++ or c++ : /usr/bin/g++
Checking for program cpp : /usr/bin/cpp
Checking for program ar : /usr/bin/ar
Checking for program ranlib : /usr/bin/ranlib
Checking for program cpp : /usr/bin/cpp
Checking for program ar : /usr/bin/ar
Checking for program ranlib : /usr/bin/ranlib
Checking for g++ : ok
Checking for g++ : ok
Checking for node path : not found
Checking for node prefix : ok /usr/local
Checking for node path : not found
Checking for node prefix : ok /usr/local
'configure' finished successfully (1.112s)
'configure' finished successfully (1.110s)
Waf: Entering directory `/var/www/calipso-test-01/node_modules/mongodb/external-libs/bson/build'
[1/9] cxx: bson.cc -> build/default/bson_1.o
[2/9] cxx: long.cc -> build/default/long_1.o
Waf: Entering directory `/var/www/calipso-test-01/node_modules/node-expat/build'
[1/2] cxx: node-expat.cc -> build/default/node-expat_1.o
[2/2] cxx_link: build/default/node-expat_1.o -> build/default/node-expat.node
Waf: Leaving directory `/var/www/calipso-test-01/node_modules/node-expat/build'
'build' finished successfully (5.520s)
../long.cc: In member function 'char* Long::toString(int32_t, char*)':
../long.cc:251: warning: format '%lld' expects type 'long long int', but argument 3 has type 'int64_t'
../long.cc:254: warning: format '%llu' expects type 'long long unsigned int', but argument 3 has type 'int64_t'
../long.cc:258: warning: format '%llx' expects type 'long long unsigned int', but argument 3 has type 'int64_t'
[3/9] cxx: objectid.cc -> build/default/objectid_1.o
[4/9] cxx: binary.cc -> build/default/binary_1.o
[5/9] cxx: code.cc -> build/default/code_1.o
[6/9] cxx: dbref.cc -> build/default/dbref_1.o
[7/9] cxx: timestamp.cc -> build/default/timestamp_1.o
[8/9] cxx: local.cc -> build/default/local_1.o
../timestamp.cc: In member function 'char* Timestamp::toString(int32_t, char*)':
../timestamp.cc:247: warning: format '%lld' expects type 'long long int', but argument 3 has type 'int64_t'
../timestamp.cc:250: warning: format '%llu' expects type 'long long unsigned int', but argument 3 has type 'int64_t'
../timestamp.cc:254: warning: format '%llx' expects type 'long long unsigned int', but argument 3 has type 'int64_t'
[9/9] cxx_link: build/default/bson_1.o build/default/long_1.o build/default/objectid_1.o build/default/binary_1.o build/default/code_1.o build/default/dbref_1.o build/default/timestamp_1.o build/default/local_1.o -> build/default/bson.node
Waf: Leaving directory `/var/www/calipso-test-01/node_modules/mongodb/external-libs/bson/build'
'build' finished successfully (10.964s)
Makefile.ref:58: NANOJIT_ARCH not defined in config/Linux_All.mk, JIT disabled
cc1: warning: command line option "-fno-rtti" is valid for C++/ObjC++ but not for C
editline.c: In function 'TTYflush':
editline.c:172: warning: ignoring return value of 'write', declared with attribute warn_unused_result
editline.c: In function 'add_history':
editline.c:1050: warning: pointer targets in passing argument 2 of 'strcmp' differ in signedness
/usr/include/string.h:142: note: expected 'const char *' but argument is of type 'CHAR *'
cc1: warning: command line option "-fno-rtti" is valid for C++/ObjC++ but not for C
ar: creating ../obj/editline/libedit.a
Makefile.ref:58: NANOJIT_ARCH not defined in config/Linux_All.mk, JIT disabled
jsopcode.cpp: In function 'jsbytecode* Decompile(SprintStack*, jsbytecode*, intN, JSOp)':
jsopcode.cpp:2005: warning: case label value exceeds maximum value for type
jsopcode.cpp:2008: warning: case label value exceeds maximum value for type
jsopcode.cpp:3698: warning: case label value exceeds maximum value for type
jsopcode.cpp:3775: warning: case label value exceeds maximum value for type
jsparse.cpp: In function 'JSParseNode* Statement(JSContext*, JSTokenStream*, JSTreeContext*)':
jsparse.cpp:2764: warning: suggest parentheses around '&&' within '||'
ar: creating obj/libjs.a
http-message.c: In function 'HTTPMessage_set_content_length':
http-message.c:280: warning: format '%u' expects type 'unsigned int', but argument 3 has type 'size_t'
http-server.c: In function 'HTTPServer_run':
http-server.c:184: warning: passing argument 3 of 'accept' from incompatible pointer type
/usr/include/sys/socket.h:214: note: expected 'socklen_t * restrict' but argument is of type 'size_t *'
The following files couldn't be removed.
Remove them manually and try again
sudo rm -rf "/home/adrian/.npm/mime/1.2.2/package"
It appears that NPM has installed the key modules ...
Running sanity tests ...
/bin/sh: expresso: not found
make: *** [test] Error 127
If you can see 100% success on the sanity tests then you are probably good to go!
That was on Ubuntu 10.04.2 Lucid.
What is the contents of the node_modules folder? Is there anything in there?
On 26 May 2011 15:43, adrinux < reply@reply.github.com>wrote:
That was on Ubuntu 10.04.2 Lucid.
Reply to this email directly or view it on GitHub: https://github.com/cliftonc/calipso/issues/24#comment_1242766
Yes, including expresso: cluster connect-form express github-flavored-markdown mongodb node-expat should stylus winston connect ejs expresso jade mongoose qs socket.io twitter-node
It looks like there was a problem with mime ... which is a dependency from formidable (the forms library), does 'npm install mime' work?
Well, it currently reports:
mime@1.2.2 ./node_modules/mime
So I'd say yes?
During my installation i had to drop my Node from 5.0 to 4.7 in order to get the loggly module installed as it is a dependency for winston. This will be a problem if npm to run the script on the 5.0 beta.
This is now completely revamped with the new module structure, and the installation process via NPM + calipso script should address these issues. Will close this, any new issues with the NPM process will be raised as separate issues.
Need to come up with a bulletproof installation process (like npm?) that ensures that people can get up and running very quickly - ease of use to get started is critical.