4

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

感谢您的帮助。

4

1 回答 1

5

我在 bitnami 上安装时遇到了同样的问题。事实证明,在创建 MEAN 为您服务的实际内容所在的目录时存在权限相关问题。

以下命令从我签出 MEAN 的目录中为我工作:

sudo bower install --allow-root
于 2013-10-30T19:10:04.910 回答