http://myipaddress:3000
当我尝试安装MEAN 堆栈后,我得到了这些 304 和 404
$ node server
Express app started on port 3000
GET / 304 973ms
GET /lib/bootstrap/js/bootstrap.js 404 371ms
GET /lib/bootstrap/css/bootstrap.css 404 489ms
GET /lib/angular/angular.js 404 371ms
GET /lib/jquery/jquery.js 404 447ms
GET /lib/bootstrap/css/bootstrap-responsive.css 404 453ms
GET /lib/angular-cookies/angular-cookies.js 404 75ms
GET /lib/angular-resource/angular-resource.js 404 217ms
GET /lib/angular-ui-utils/modules/route.js 404 217ms
GET /lib/angular-bootstrap/ui-bootstrap-tpls.js 404 221ms
所有这些 lib/* 文件都可以在 public/lib/* 中找到。
我在 Ubuntu 上并执行了以下命令:
1. wget https://codeload.github.com/linnovate/mean/legacy.tar.gz/master -O mean
2. tar -zxvf mean
3. npm install
4. sudo npm install -g bower
5. bower install
其中第 4 步和第 5 步来自此评论。因为即使在第 3 步之后我也遇到了错误。
由于人们还提到了一个.bowerrc
,我在任何地方都找不到,所以我在平均目录的根目录中创建了一个。
{
"directory": "public/lib",
"json": "bower.json"
}
这是我的输出npm list
。
mean@1.0.0 /path/to/linnovate-mean-612b014
├── async@0.2.9
├── connect-flash@0.1.1
├─┬ connect-mongo@0.3.3
│ └─┬ mongodb@1.2.14
│ └── bson@0.1.8
├─┬ express@3.4.0
│ ├── buffer-crc32@0.2.1
│ ├─┬ commander@1.2.0
│ │ └── keypress@0.1.0
│ ├─┬ connect@2.9.0
│ │ ├── bytes@0.2.0
│ │ ├─┬ multiparty@2.1.8
│ │ │ ├── readable-stream@1.0.17
│ │ │ └── stream-counter@0.1.0
│ │ ├── pause@0.0.1
│ │ ├── qs@0.6.5
│ │ └── uid2@0.0.2
│ ├── cookie@0.1.0
│ ├── cookie-signature@1.0.1
│ ├── debug@0.7.2
│ ├── fresh@0.2.0
│ ├── methods@0.0.1
│ ├── mkdirp@0.3.5
│ ├── range-parser@0.0.4
│ └─┬ send@0.1.4
│ └── mime@1.2.11
├─┬ forever@0.10.8
│ ├─┬ cliff@0.1.8
│ │ ├── eyes@0.1.8
│ │ └─┬ winston@0.6.2
│ │ ├── async@0.1.22
│ │ ├── cycle@1.0.2
│ │ ├── pkginfo@0.2.3
│ │ ├── request@2.9.203
│ │ └── stack-trace@0.0.7
│ ├── colors@0.6.0-1
│ ├─┬ flatiron@0.3.5
│ │ ├─┬ broadway@0.2.7
│ │ │ ├── eventemitter2@0.4.11
│ │ │ └─┬ winston@0.6.2
│ │ │ ├── async@0.1.22
│ │ │ ├── cycle@1.0.2
│ │ │ ├── eyes@0.1.8
│ │ │ ├── pkginfo@0.2.3
│ │ │ ├── request@2.9.203
│ │ │ └── stack-trace@0.0.7
│ │ ├── director@1.1.10
│ │ ├─┬ optimist@0.3.5
│ │ │ └── wordwrap@0.0.2
│ │ └─┬ prompt@0.2.9
│ │ ├─┬ read@1.0.5
│ │ │ └── mute-stream@0.0.4
│ │ ├── revalidator@0.1.5
│ │ └─┬ winston@0.6.2
│ │ ├── async@0.1.22
│ │ ├── cycle@1.0.2
│ │ ├── eyes@0.1.8
│ │ ├── pkginfo@0.2.3
│ │ ├── request@2.9.203
│ │ └── stack-trace@0.0.7
│ ├─┬ forever-monitor@1.2.2
│ │ ├─┬ broadway@0.2.7
│ │ │ ├── eventemitter2@0.4.11
│ │ │ └─┬ winston@0.6.2
│ │ │ ├── async@0.1.22
│ │ │ ├── cycle@1.0.2
│ │ │ ├── eyes@0.1.8
│ │ │ ├── pkginfo@0.2.3
│ │ │ ├── request@2.9.203
│ │ │ └── stack-trace@0.0.7
│ │ ├─┬ minimatch@0.0.5
│ │ │ └── lru-cache@1.0.6
│ │ ├─┬ ps-tree@0.0.3
│ │ │ └─┬ event-stream@0.5.3
│ │ │ └─┬ optimist@0.2.8
│ │ │ └── wordwrap@0.0.2
│ │ └── watch@0.5.1
│ ├─┬ nconf@0.6.7
│ │ ├── async@0.1.22
│ │ ├── ini@1.1.0
│ │ ├─┬ optimist@0.3.7
│ │ │ └── wordwrap@0.0.2
│ │ └── pkginfo@0.2.3
│ ├─┬ nssocket@0.5.1
│ │ ├── eventemitter2@0.4.13
│ │ └── lazy@1.0.11
│ ├─┬ optimist@0.4.0
│ │ └── wordwrap@0.0.2
│ ├── pkginfo@0.3.0
│ ├── timespan@2.0.1
│ ├─┬ utile@0.1.7
│ │ ├── async@0.1.22
│ │ ├── deep-equal@0.0.0
│ │ ├── i@0.3.2
│ │ ├── mkdirp@0.3.5
│ │ ├── ncp@0.2.7
│ │ └── rimraf@1.0.9
│ ├── watch@0.7.0
│ └─┬ winston@0.7.1
│ ├── cycle@1.0.2
│ ├── eyes@0.1.8
│ ├─┬ request@2.16.6
│ │ ├── aws-sign@0.2.0
│ │ ├── cookie-jar@0.2.0
│ │ ├── forever-agent@0.2.0
│ │ ├─┬ form-data@0.0.10
│ │ │ └─┬ combined-stream@0.0.4
│ │ │ └── delayed-stream@0.0.5
│ │ ├─┬ hawk@0.10.2
│ │ │ ├── boom@0.3.8
│ │ │ ├── cryptiles@0.1.3
│ │ │ ├── hoek@0.7.6
│ │ │ └── sntp@0.1.4
│ │ ├── json-stringify-safe@3.0.0
│ │ ├── mime@1.2.11
│ │ ├── node-uuid@1.4.1
│ │ ├── oauth-sign@0.2.0
│ │ ├── qs@0.5.6
│ │ └── tunnel-agent@0.2.0
│ └── stack-trace@0.0.7
├─┬ grunt@0.4.1
│ ├── async@0.1.22
│ ├── coffee-script@1.3.3
│ ├── colors@0.6.2
│ ├── dateformat@1.0.2-1.2.3
│ ├── eventemitter2@0.4.13
│ ├─┬ findup-sync@0.1.2
│ │ └── lodash@1.0.1
│ ├─┬ glob@3.1.21
│ │ ├── graceful-fs@1.2.3
│ │ └── inherits@1.0.0
│ ├── hooker@0.2.3
│ ├── iconv-lite@0.2.11
│ ├─┬ js-yaml@2.0.5
│ │ ├─┬ argparse@0.1.15
│ │ │ ├── underscore@1.4.4
│ │ │ └── underscore.string@2.3.3
│ │ └── esprima@1.0.4
│ ├── lodash@0.9.2
│ ├─┬ minimatch@0.2.12
│ │ ├── lru-cache@2.3.1
│ │ └── sigmund@1.0.0
│ ├─┬ nopt@1.0.10
│ │ └── abbrev@1.0.4
│ ├─┬ rimraf@2.0.3
│ │ └── graceful-fs@1.1.14
│ ├── underscore.string@2.2.1
│ └── which@1.0.5
├─┬ grunt-bower-task@0.3.2
│ ├── async@0.1.22
│ ├─┬ bower@1.2.6
│ │ ├── abbrev@1.0.4
│ │ ├── archy@0.0.2
│ │ ├─┬ bower-config@0.5.0
│ │ │ └─┬ optimist@0.6.0
│ │ │ ├── minimist@0.0.5
│ │ │ └── wordwrap@0.0.2
│ │ ├── bower-endpoint-parser@0.2.1
│ │ ├─┬ bower-json@0.4.0
│ │ │ ├── deep-extend@0.2.6
│ │ │ └── intersect@0.0.3
│ │ ├── bower-logger@0.2.1
│ │ ├─┬ bower-registry-client@0.1.4
│ │ │ ├── async@0.2.9
│ │ │ ├─┬ bower-config@0.4.5
│ │ │ │ └─┬ optimist@0.6.0
│ │ │ │ ├── minimist@0.0.5
│ │ │ │ └── wordwrap@0.0.2
│ │ │ └── request-replay@0.2.0
│ │ ├─┬ cardinal@0.4.2
│ │ │ ├── ansicolors@0.2.1
│ │ │ └─┬ redeyed@0.4.2
│ │ │ └── esprima@1.0.4
│ │ ├─┬ chalk@0.2.1
│ │ │ ├── ansi-styles@0.2.0
│ │ │ └── has-color@0.1.1
│ │ ├── chmodr@0.1.0
│ │ ├─┬ fstream@0.1.24
│ │ │ └── inherits@2.0.1
│ │ ├─┬ fstream-ignore@0.0.7
│ │ │ ├── inherits@2.0.1
│ │ │ └─┬ minimatch@0.2.12
│ │ │ └── sigmund@1.0.0
│ │ ├─┬ glob@3.2.6
│ │ │ ├── inherits@2.0.1
│ │ │ └─┬ minimatch@0.2.12
│ │ │ └── sigmund@1.0.0
│ │ ├── graceful-fs@2.0.1
│ │ ├─┬ handlebars@1.0.12
│ │ │ ├─┬ optimist@0.3.7
│ │ │ │ └── wordwrap@0.0.2
│ │ │ └─┬ uglify-js@2.3.6
│ │ │ ├── async@0.2.9
│ │ │ └─┬ source-map@0.1.29
│ │ │ └── amdefine@0.0.8
│ │ ├─┬ inquirer@0.3.3
│ │ │ ├── async@0.2.9
│ │ │ ├─┬ cli-color@0.2.3
│ │ │ │ ├── es5-ext@0.9.2
│ │ │ │ └─┬ memoizee@0.2.5
│ │ │ │ ├── event-emitter@0.2.2
│ │ │ │ └── next-tick@0.1.0
│ │ │ ├── lodash@1.2.1
│ │ │ └── mute-stream@0.0.3
│ │ ├── junk@0.2.1
│ │ ├── lru-cache@2.3.1
│ │ ├── mkdirp@0.3.5
│ │ ├── mout@0.6.0
│ │ ├── nopt@2.1.2
│ │ ├── open@0.0.4
│ │ ├── osenv@0.0.3
│ │ ├─┬ promptly@0.2.0
│ │ │ └─┬ read@1.0.5
│ │ │ └── mute-stream@0.0.4
│ │ ├── q@0.9.7
│ │ ├─┬ request@2.27.0
│ │ │ ├── aws-sign@0.3.0
│ │ │ ├── cookie-jar@0.3.0
│ │ │ ├── forever-agent@0.5.0
│ │ │ ├─┬ form-data@0.1.1
│ │ │ │ ├── async@0.2.9
│ │ │ │ └─┬ combined-stream@0.0.4
│ │ │ │ └── delayed-stream@0.0.5
│ │ │ ├─┬ hawk@1.0.0
│ │ │ │ ├── boom@0.4.2
│ │ │ │ ├── cryptiles@0.2.2
│ │ │ │ ├── hoek@0.9.1
│ │ │ │ └── sntp@0.2.4
│ │ │ ├─┬ http-signature@0.10.0
│ │ │ │ ├── asn1@0.1.11
│ │ │ │ ├── assert-plus@0.1.2
│ │ │ │ └── ctype@0.5.2
│ │ │ ├── json-stringify-safe@5.0.0
│ │ │ ├── mime@1.2.11
│ │ │ ├── node-uuid@1.4.1
│ │ │ ├── oauth-sign@0.3.0
│ │ │ ├── qs@0.6.5
│ │ │ └── tunnel-agent@0.3.0
│ │ ├─┬ request-progress@0.3.1
│ │ │ └── throttleit@0.0.2
│ │ ├── retry@0.6.0
│ │ ├── rimraf@2.2.2
│ │ ├── semver@2.1.0
│ │ ├── stringify-object@0.1.7
│ │ ├─┬ sudo-block@0.2.1
│ │ │ └─┬ chalk@0.1.1
│ │ │ ├── ansi-styles@0.1.2
│ │ │ └── has-color@0.1.1
│ │ ├─┬ tar@0.1.18
│ │ │ ├── block-stream@0.0.7
│ │ │ └── inherits@2.0.1
│ │ ├── tmp@0.0.21
│ │ ├─┬ unzip@0.1.9
│ │ │ ├─┬ binary@0.3.0
│ │ │ │ ├── buffers@0.1.1
│ │ │ │ └─┬ chainsaw@0.1.0
│ │ │ │ └── traverse@0.3.9
│ │ │ ├─┬ match-stream@0.0.2
│ │ │ │ └── buffers@0.1.1
│ │ │ ├─┬ pullstream@0.4.0
│ │ │ │ ├── over@0.0.5
│ │ │ │ └── slice-stream@0.0.0
│ │ │ ├── readable-stream@1.0.17
│ │ │ └── setimmediate@1.0.1
│ │ ├─┬ update-notifier@0.1.5
│ │ │ ├─┬ chalk@0.1.1
│ │ │ │ ├── ansi-styles@0.1.2
│ │ │ │ └── has-color@0.1.1
│ │ │ ├─┬ configstore@0.1.5
│ │ │ │ ├─┬ js-yaml@2.1.0
│ │ │ │ │ ├─┬ argparse@0.1.15
│ │ │ │ │ │ ├── underscore@1.4.4
│ │ │ │ │ │ └── underscore.string@2.3.3
│ │ │ │ │ └── esprima@1.0.4
│ │ │ │ └── lodash@1.3.1
│ │ │ ├─┬ request@2.22.0
│ │ │ │ ├── aws-sign@0.3.0
│ │ │ │ ├── cookie-jar@0.3.0
│ │ │ │ ├── forever-agent@0.5.0
│ │ │ │ ├─┬ form-data@0.0.8
│ │ │ │ │ ├── async@0.2.9
│ │ │ │ │ └─┬ combined-stream@0.0.4
│ │ │ │ │ └── delayed-stream@0.0.5
│ │ │ │ ├─┬ hawk@0.13.1
│ │ │ │ │ ├─┬ boom@0.4.2
│ │ │ │ │ │ └── hoek@0.9.1
│ │ │ │ │ ├── cryptiles@0.2.2
│ │ │ │ │ ├── hoek@0.8.5
│ │ │ │ │ └─┬ sntp@0.2.4
│ │ │ │ │ └── hoek@0.9.1
│ │ │ │ ├─┬ http-signature@0.10.0
│ │ │ │ │ ├── asn1@0.1.11
│ │ │ │ │ ├── assert-plus@0.1.2
│ │ │ │ │ └── ctype@0.5.2
│ │ │ │ ├── json-stringify-safe@4.0.0
│ │ │ │ ├── mime@1.2.11
│ │ │ │ ├── node-uuid@1.4.1
│ │ │ │ ├── oauth-sign@0.3.0
│ │ │ │ ├── qs@0.6.5
│ │ │ │ └── tunnel-agent@0.3.0
│ │ │ └── semver@2.0.11
│ │ └── which@1.0.5
│ ├── colors@0.6.2
│ ├── lodash@0.10.0
│ ├─┬ rimraf@2.0.3
│ │ └── graceful-fs@1.1.14
│ └── wrench@1.4.4
├─┬ grunt-cli@0.1.9
│ ├─┬ findup-sync@0.1.2
│ │ ├─┬ glob@3.1.21
│ │ │ ├── graceful-fs@1.2.3
│ │ │ ├── inherits@1.0.0
│ │ │ └─┬ minimatch@0.2.12
│ │ │ ├── lru-cache@2.3.1
│ │ │ └── sigmund@1.0.0
│ │ └── lodash@1.0.1
│ ├─┬ nopt@1.0.10
│ │ └── abbrev@1.0.4
│ └── resolve@0.3.1
├─┬ grunt-concurrent@0.3.1
│ └── lpad@0.1.0
├─┬ grunt-contrib-jshint@0.6.4
│ └─┬ jshint@2.1.11
│ ├─┬ cli@0.4.5
│ │ └─┬ glob@3.2.6
│ │ └── inherits@2.0.1
│ ├── console-browserify@0.1.6
│ ├─┬ minimatch@0.2.12
│ │ ├── lru-cache@2.3.1
│ │ └── sigmund@1.0.0
│ ├── shelljs@0.1.4
│ └── underscore@1.4.4
├─┬ grunt-contrib-watch@0.5.3
│ ├─┬ gaze@0.4.1
│ │ └─┬ globule@0.1.0
│ │ ├─┬ glob@3.1.21
│ │ │ ├── graceful-fs@1.2.3
│ │ │ └── inherits@1.0.0
│ │ ├── lodash@1.0.1
│ │ └─┬ minimatch@0.2.12
│ │ ├── lru-cache@2.3.1
│ │ └── sigmund@1.0.0
│ └─┬ tiny-lr@0.0.4
│ ├── debug@0.7.2
│ ├── faye-websocket@0.4.4
│ ├─┬ noptify@0.0.3
│ │ └─┬ nopt@2.0.0
│ │ └── abbrev@1.0.4
│ └── qs@0.5.6
├─┬ grunt-mocha-test@0.7.0
│ └─┬ mocha@1.13.0
│ ├── commander@0.6.1
│ ├── debug@0.7.2
│ ├── diff@1.0.7
│ ├─┬ glob@3.2.3
│ │ ├── graceful-fs@2.0.1
│ │ ├── inherits@2.0.1
│ │ └─┬ minimatch@0.2.12
│ │ ├── lru-cache@2.3.1
│ │ └── sigmund@1.0.0
│ ├── growl@1.7.0
│ ├─┬ jade@0.26.3
│ │ └── mkdirp@0.3.0
│ └── mkdirp@0.3.5
├─┬ grunt-nodemon@0.1.1
│ └── nodemon@0.7.10
├─┬ jade@0.35.0
│ ├── character-parser@1.2.0
│ ├── commander@2.0.0
│ ├─┬ constantinople@1.0.2
│ │ └─┬ uglify-js@2.4.0
│ │ ├─┬ optimist@0.3.7
│ │ │ └── wordwrap@0.0.2
│ │ ├─┬ source-map@0.1.29
│ │ │ └── amdefine@0.0.8
│ │ └── uglify-to-browserify@1.0.1
│ ├── mkdirp@0.3.5
│ ├─┬ monocle@1.1.50
│ │ └─┬ readdirp@0.2.5
│ │ └─┬ minimatch@0.2.12
│ │ ├── lru-cache@2.3.1
│ │ └── sigmund@1.0.0
│ ├─┬ transformers@2.1.0
│ │ ├─┬ css@1.0.8
│ │ │ ├── css-parse@1.0.4
│ │ │ └── css-stringify@1.0.5
│ │ ├─┬ promise@2.0.0
│ │ │ └── is-promise@1.0.0
│ │ └─┬ uglify-js@2.2.5
│ │ ├─┬ optimist@0.3.7
│ │ │ └── wordwrap@0.0.2
│ │ └─┬ source-map@0.1.29
│ │ └── amdefine@0.0.8
│ └─┬ with@1.1.1
│ └─┬ uglify-js@2.4.0
│ ├─┬ optimist@0.3.7
│ │ └── wordwrap@0.0.2
│ ├─┬ source-map@0.1.29
│ │ └── amdefine@0.0.8
│ └── uglify-to-browserify@1.0.1
├── mean-logger@0.0.1
├─┬ mongoose@3.6.20
│ ├── hooks@0.2.1
│ ├─┬ mongodb@1.3.19
│ │ ├── bson@0.2.2
│ │ └── kerberos@0.0.3
│ ├── mpath@0.1.1
│ ├─┬ mpromise@0.2.1
│ │ └── sliced@0.0.4
│ ├── ms@0.1.0
│ ├── muri@0.3.1
│ ├── regexp-clone@0.0.1
│ └── sliced@0.0.5
├─┬ passport@0.1.17
│ ├── pause@0.0.1
│ └── pkginfo@0.2.3
├─┬ passport-facebook@1.0.1
│ └─┬ passport-oauth2@1.1.1
│ ├── oauth@0.9.10
│ ├── passport-strategy@1.0.0
│ └── uid2@0.0.3
├─┬ passport-github@0.1.5
│ ├─┬ passport-oauth@0.1.15
│ │ └── oauth@0.9.10
│ └── pkginfo@0.2.3
├─┬ passport-google-oauth@0.1.5
│ ├─┬ passport-oauth@0.1.15
│ │ └── oauth@0.9.10
│ └── pkginfo@0.2.3
├─┬ passport-local@0.1.6
│ └── pkginfo@0.2.3
├─┬ passport-twitter@1.0.2
│ ├─┬ passport-oauth1@1.0.1
│ │ ├── oauth@0.9.10
│ │ ├── passport-strategy@1.0.0
│ │ └── utils-merge@1.0.0
│ └─┬ xtraverse@0.1.0
│ └── xmldom@0.1.16
├── should@1.3.0
├─┬ supertest@0.8.0
│ ├── methods@0.0.1
│ └─┬ superagent@0.15.1
│ ├── cookiejar@1.3.0
│ ├── debug@0.7.2
│ ├── emitter-component@1.0.0
│ ├── formidable@1.0.9
│ ├── mime@1.2.5
│ └── qs@0.6.5
├── underscore@1.5.2
└── view-helpers@0.1.2
感谢您的帮助。