我一直在尝试安装twilio sms营销示例应用(https://github.com/TwilioDevEd/marketing-notifications-node/tree/master)。我已经安装了mongodb和mongo,并且能够毫无问题地运行它们。当我尝试运行node .
命令时会出现问题。我收到抛出错误。这是我尝试在项目目录中使用node .
时收到的错误。
MacBook-Pro:marketing-notifications-node-master user$ node .
module.js:471
throw err;
^
Error: Cannot find module 'mongodb/node_modules/bson'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/Users/$USER/Desktop/marketing-notifications-node-master/node_modules/mongoose/lib/drivers/node-mongodb-native/objectid.js:8:52)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
MacBook-Pro:marketing-notifications-node-master $USER$
我真的需要帮助来解决这个问题。
我试过
npm cache clean
npm install -g npm@latest
npm install
npm install
输出:
/Users/$USER/.npm-packages/bin/npm -> /Users/$USER/.npm-packages/lib/node_modules/npm/bin/npm-cli.js
/Users/$USER/.npm-packages/lib
└─┬ npm@4.3.0
├── abbrev@1.0.9
├── ansi-regex@2.1.1
├── ansicolors@0.3.2
├── ansistyles@0.1.3
├── aproba@1.1.1
├── archy@1.0.0
├── asap@2.0.5
├── chownr@1.0.1
├── cmd-shim@2.0.2
├─┬ columnify@1.5.4
│ └─┬ wcwidth@1.0.0
│ └─┬ defaults@1.0.3
│ └── clone@1.0.2
├─┬ config-chain@1.1.11
│ └── proto-list@1.2.4
├── debuglog@1.0.1
├── dezalgo@1.0.3
├── editor@1.0.0
├── fs-vacuum@1.2.9
├── fs-write-stream-atomic@1.0.8
├── fstream@1.0.10
├─┬ fstream-npm@1.2.0
│ └─┬ fstream-ignore@1.0.5
│ └─┬ minimatch@3.0.3
│ └─┬ brace-expansion@1.1.6
│ ├── balanced-match@0.4.2
│ └── concat-map@0.0.1
├─┬ glob@7.1.1
│ ├── fs.realpath@1.0.0
│ ├─┬ minimatch@3.0.3
│ │ └─┬ brace-expansion@1.1.6
│ │ ├── balanced-match@0.4.2
│ │ └── concat-map@0.0.1
│ └── path-is-absolute@1.0.1
├── graceful-fs@4.1.11
├── has-unicode@2.0.1
├── hosted-git-info@2.2.0
├── iferr@0.1.5
├── imurmurhash@0.1.4
├── inflight@1.0.6
├── inherits@2.0.3
├── ini@1.3.4
├─┬ init-package-json@1.9.4
│ ├─┬ glob@6.0.4
│ │ ├─┬ minimatch@3.0.3
│ │ │ └─┬ brace-expansion@1.1.6
│ │ │ ├── balanced-match@0.4.2
│ │ │ └── concat-map@0.0.1
│ │ └── path-is-absolute@1.0.0
│ └── promzard@0.3.0
├─┬ JSONStream@1.3.0
│ ├── jsonparse@1.2.0
│ └── through@2.3.8
├── lazy-property@1.0.0
├── lockfile@1.0.3
├── lodash._baseindexof@3.1.0
├─┬ lodash._baseuniq@4.6.0
│ ├── lodash._createset@4.0.3
│ └── lodash._root@3.0.1
├── lodash._bindcallback@3.0.1
├── lodash._cacheindexof@3.0.2
├── lodash._createcache@3.1.2
├── lodash._getnative@3.9.1
├── lodash.clonedeep@4.5.0
├── lodash.restparam@3.6.1
├── lodash.union@4.6.0
├── lodash.uniq@4.5.0
├── lodash.without@4.4.0
├─┬ mississippi@1.3.0
│ ├─┬ concat-stream@1.6.0
│ │ └── typedarray@0.0.6
│ ├─┬ duplexify@3.5.0
│ │ ├─┬ end-of-stream@1.0.0
│ │ │ └── once@1.3.3
│ │ └── stream-shift@1.0.0
│ ├─┬ end-of-stream@1.1.0
│ │ └── once@1.3.3
│ ├── flush-write-stream@1.0.2
│ ├── from2@2.3.0
│ ├─┬ parallel-transform@1.1.0
│ │ └── cyclist@0.2.2
│ ├── pump@1.0.2
│ ├── pumpify@1.3.5
│ ├─┬ stream-each@1.2.0
│ │ └── stream-shift@1.0.0
│ └─┬ through2@2.0.3
│ └── xtend@4.0.1
├─┬ mkdirp@0.5.1
│ └── minimist@0.0.8
├─┬ node-gyp@3.5.0
│ ├─┬ minimatch@3.0.3
│ │ └─┬ brace-expansion@1.1.6
│ │ ├── balanced-match@0.4.2
│ │ └── concat-map@0.0.1
│ └── nopt@3.0.6
├─┬ nopt@4.0.1
│ └─┬ osenv@0.1.4
│ ├── os-homedir@1.0.2
│ └── os-tmpdir@1.0.2
├── normalize-git-url@3.0.2
├─┬ normalize-package-data@2.3.5
│ └─┬ is-builtin-module@1.0.0
│ └── builtin-modules@1.1.1
├── npm-cache-filename@1.0.2
├── npm-install-checks@3.0.0
├── npm-package-arg@4.2.0
├─┬ npm-registry-client@7.4.5
│ └─┬ concat-stream@1.5.2
│ ├─┬ readable-stream@2.0.6
│ │ ├── core-util-is@1.0.2
│ │ ├── isarray@1.0.0
│ │ ├── process-nextick-args@1.0.7
│ │ ├── string_decoder@0.10.31
│ │ └── util-deprecate@1.0.2
│ └── typedarray@0.0.6
├── npm-user-validate@0.1.5
├─┬ npmlog@4.0.2
│ ├─┬ are-we-there-yet@1.1.2
│ │ └── delegates@1.0.0
│ ├── console-control-strings@1.1.0
│ ├─┬ gauge@2.7.2
│ │ ├── object-assign@4.1.0
│ │ ├── signal-exit@3.0.2
│ │ ├─┬ string-width@1.0.2
│ │ │ ├── code-point-at@1.1.0
│ │ │ └─┬ is-fullwidth-code-point@1.0.0
│ │ │ └── number-is-nan@1.0.1
│ │ ├── supports-color@0.2.0
│ │ └── wide-align@1.1.0
│ └── set-blocking@2.0.0
├── once@1.4.0
├── opener@1.4.2
├─┬ osenv@0.1.4
│ ├── os-homedir@1.0.2
│ └── os-tmpdir@1.0.2
├── path-is-inside@1.0.2
├─┬ read@1.0.7
│ └── mute-stream@0.0.5
├── read-cmd-shim@1.0.1
├─┬ read-installed@4.0.3
│ └── util-extend@1.0.3
├─┬ read-package-json@2.0.4
│ ├─┬ glob@6.0.4
│ │ ├─┬ minimatch@3.0.3
│ │ │ └─┬ brace-expansion@1.1.6
│ │ │ ├── balanced-match@0.4.2
│ │ │ └── concat-map@0.0.1
│ │ └── path-is-absolute@1.0.0
│ └─┬ json-parse-helpfulerror@1.0.3
│ └── jju@1.3.0
├── read-package-tree@5.1.5
├─┬ readable-stream@2.2.2
│ ├── buffer-shims@1.0.0
│ ├── core-util-is@1.0.2
│ ├── isarray@1.0.0
│ ├── process-nextick-args@1.0.7
│ ├── string_decoder@0.10.31
│ └── util-deprecate@1.0.2
├── readdir-scoped-modules@1.0.2
├── realize-package-specifier@3.0.3
├─┬ request@2.79.0
│ ├── aws-sign2@0.6.0
│ ├── aws4@1.5.0
│ ├── caseless@0.11.0
│ ├─┬ combined-stream@1.0.5
│ │ └── delayed-stream@1.0.0
│ ├── extend@3.0.0
│ ├── forever-agent@0.6.1
│ ├─┬ form-data@2.1.2
│ │ └── asynckit@0.4.0
│ ├─┬ har-validator@2.0.6
│ │ ├─┬ chalk@1.1.3
│ │ │ ├── ansi-styles@2.2.1
│ │ │ ├── escape-string-regexp@1.0.5
│ │ │ ├── has-ansi@2.0.0
│ │ │ └── supports-color@2.0.0
│ │ ├─┬ commander@2.9.0
│ │ │ └── graceful-readlink@1.0.1
│ │ ├─┬ is-my-json-valid@2.15.0
│ │ │ ├── generate-function@2.0.0
│ │ │ ├─┬ generate-object-property@1.2.0
│ │ │ │ └── is-property@1.0.2
│ │ │ ├── jsonpointer@4.0.0
│ │ │ └── xtend@4.0.1
│ │ └─┬ pinkie-promise@2.0.1
│ │ └── pinkie@2.0.4
│ ├─┬ hawk@3.1.3
│ │ ├── boom@2.10.1
│ │ ├── cryptiles@2.0.5
│ │ ├── hoek@2.16.3
│ │ └── sntp@1.0.9
│ ├─┬ http-signature@1.1.1
│ │ ├── assert-plus@0.2.0
│ │ ├─┬ jsprim@1.3.1
│ │ │ ├── extsprintf@1.0.2
│ │ │ ├── json-schema@0.2.3
│ │ │ └── verror@1.3.6
│ │ └─┬ sshpk@1.10.1
│ │ ├── asn1@0.2.3
│ │ ├── assert-plus@1.0.0
│ │ ├── bcrypt-pbkdf@1.0.0
│ │ ├── dashdash@1.14.1
│ │ ├── ecc-jsbn@0.1.1
│ │ ├── getpass@0.1.6
│ │ ├── jodid25519@1.0.2
│ │ ├── jsbn@0.1.0
│ │ └── tweetnacl@0.14.3
│ ├── is-typedarray@1.0.0
│ ├── isstream@0.1.2
│ ├── json-stringify-safe@5.0.1
│ ├─┬ mime-types@2.1.13
│ │ └── mime-db@1.25.0
│ ├── oauth-sign@0.8.2
│ ├── qs@6.3.0
│ ├── stringstream@0.0.5
│ ├─┬ tough-cookie@2.3.2
│ │ └── punycode@1.4.1
│ └── tunnel-agent@0.4.3
├── retry@0.10.1
├── rimraf@2.5.4
├── semver@5.3.0
├── sha@2.0.1
├── slide@1.1.6
├── sorted-object@2.0.1
├─┬ sorted-union-stream@2.1.3
│ ├─┬ from2@1.3.0
│ │ └─┬ readable-stream@1.1.14
│ │ ├── core-util-is@1.0.2
│ │ ├── isarray@0.0.1
│ │ └── string_decoder@0.10.31
│ └── stream-iterate@1.1.1
├── strip-ansi@3.0.1
├─┬ tar@2.2.1
│ └── block-stream@0.0.8
├── text-table@0.2.0
├── uid-number@0.0.6
├── umask@1.1.0
├─┬ unique-filename@1.1.0
│ └── unique-slug@2.0.0
├── unpipe@1.0.0
├── uuid@3.0.1
├─┬ validate-npm-package-license@3.0.1
│ ├─┬ spdx-correct@1.0.2
│ │ └── spdx-license-ids@1.2.0
│ └─┬ spdx-expression-parse@1.0.2
│ ├── spdx-exceptions@1.0.4
│ └── spdx-license-ids@1.2.0
├─┬ validate-npm-package-name@2.2.2
│ └── builtins@0.0.7
├─┬ which@1.2.12
│ └── isexe@1.1.2
├── wrappy@1.0.2
└── write-file-atomic@1.3.1
然后我尝试运行node .
并收到以下错误
MacBook-Pro:marketing-notifications-node-master $USER$ node .
module.js:471
throw err;
^
Error: Cannot find module 'mongodb/node_modules/bson'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/Users/$USER/Desktop/marketing-notifications-node-master/node_modules/mongoose/lib/drivers/node-mongodb-native/objectid.js:8:52)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
修改
我尝试删除并斜倚原始项目文件。我做了npm install
并收到了这个输出:
npm install
npm WARN deprecated jade@1.11.0: Jade has been renamed to pug, please install the latest version of pug instead of jade
npm WARN deprecated node-uuid@1.4.7: use uuid module instead
npm WARN deprecated transformers@2.1.0: Deprecated, use jstransformer
npm WARN deprecated mongodb@1.4.12: Please upgrade to 2.2.19 or higher
npm WARN deprecated jade@0.26.3: Jade has been renamed to pug, please install the latest version of pug instead of jade
npm WARN deprecated to-iso-string@0.0.2: to-iso-string has been deprecated, use @segment/to-iso-string instead.
npm WARN deprecated minimatch@0.3.0: Please update to minimatch 3.0.2 or higher to avoid a RegExp DoS issue
> kerberos@0.0.4 install /Users/$USER/Desktop/marketing-notifications-node-master/node_modules/kerberos
> (node-gyp rebuild 2> builderror.log) || (exit 0)
> bson@0.2.22 install /Users/$USER/Desktop/marketing-notifications-node-master/node_modules/bson
> (node-gyp rebuild 2> builderror.log) || (exit 0)
sms-notifications-node@1.0.0 /Users/$USER/Desktop/marketing-notifications-node-master
├─┬ body-parser@1.17.1
│ ├── bytes@2.4.0
│ ├── content-type@1.0.2
│ ├─┬ debug@2.6.1
│ │ └── ms@0.7.2
│ ├── depd@1.1.0
│ ├─┬ http-errors@1.6.1
│ │ └── inherits@2.0.3
│ ├── iconv-lite@0.4.15
│ ├─┬ on-finished@2.3.0
│ │ └── ee-first@1.1.1
│ ├── qs@6.4.0
│ ├─┬ raw-body@2.2.0
│ │ └── unpipe@1.0.0
│ └─┬ type-is@1.6.14
│ ├── media-typer@0.3.0
│ └─┬ mime-types@2.1.14
│ └── mime-db@1.26.0
├─┬ chai@2.3.0
│ ├── assertion-error@1.0.0
│ └─┬ deep-eql@0.1.3
│ └── type-detect@0.1.1
├── connect-flash@0.1.1
├─┬ express@4.15.2
│ ├─┬ accepts@1.3.3
│ │ └── negotiator@0.6.1
│ ├── array-flatten@1.1.1
│ ├── content-disposition@0.5.2
│ ├── cookie@0.3.1
│ ├── cookie-signature@1.0.6
│ ├── encodeurl@1.0.1
│ ├── escape-html@1.0.3
│ ├── etag@1.8.0
│ ├── finalhandler@1.0.0
│ ├── fresh@0.5.0
│ ├── merge-descriptors@1.0.1
│ ├── methods@1.1.2
│ ├── parseurl@1.3.1
│ ├── path-to-regexp@0.1.7
│ ├─┬ proxy-addr@1.1.3
│ │ ├── forwarded@0.1.0
│ │ └── ipaddr.js@1.2.0
│ ├── range-parser@1.2.0
│ ├─┬ send@0.15.1
│ │ ├── destroy@1.0.4
│ │ └── mime@1.3.4
│ ├── serve-static@1.12.1
│ ├── setprototypeof@1.0.3
│ ├── statuses@1.3.1
│ ├── utils-merge@1.0.0
│ └── vary@1.1.0
├─┬ express-session@1.15.1
│ ├── crc@3.4.4
│ ├── on-headers@1.0.1
│ └─┬ uid-safe@2.1.4
│ └── random-bytes@1.0.0
├─┬ http-auth@2.4.11
│ ├─┬ apache-crypt@1.1.2
│ │ └── unix-crypt-td-js@1.0.0
│ ├── apache-md5@1.0.6
│ └── node-uuid@1.4.7
├─┬ jade@1.11.0
│ ├── character-parser@1.2.1
│ ├─┬ clean-css@3.4.25
│ │ ├─┬ commander@2.8.1
│ │ │ └── graceful-readlink@1.0.1
│ │ └─┬ source-map@0.4.4
│ │ └── amdefine@1.0.1
│ ├── commander@2.6.0
│ ├─┬ constantinople@3.0.2
│ │ └── acorn@2.7.0
│ ├─┬ jstransformer@0.0.2
│ │ ├── is-promise@2.1.0
│ │ └─┬ promise@6.1.0
│ │ └── asap@1.0.0
│ ├─┬ mkdirp@0.5.1
│ │ └── minimist@0.0.8
│ ├─┬ 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.1
│ │ └─┬ uglify-js@2.2.5
│ │ ├─┬ optimist@0.3.7
│ │ │ └── wordwrap@0.0.3
│ │ └── source-map@0.1.43
│ ├─┬ uglify-js@2.8.8
│ │ ├── source-map@0.5.6
│ │ ├── uglify-to-browserify@1.0.2
│ │ └─┬ yargs@3.10.0
│ │ ├── camelcase@1.2.1
│ │ ├─┬ cliui@2.1.0
│ │ │ ├─┬ center-align@0.1.3
│ │ │ │ ├─┬ align-text@0.1.4
│ │ │ │ │ ├─┬ kind-of@3.1.0
│ │ │ │ │ │ └── is-buffer@1.1.4
│ │ │ │ │ ├── longest@1.0.1
│ │ │ │ │ └── repeat-string@1.6.1
│ │ │ │ └── lazy-cache@1.0.4
│ │ │ ├── right-align@0.1.3
│ │ │ └── wordwrap@0.0.2
│ │ ├── decamelize@1.2.0
│ │ └── window-size@0.1.0
│ ├── void-elements@2.0.1
│ └─┬ with@4.0.3
│ ├── acorn@1.2.2
│ └── acorn-globals@1.0.9
├─┬ mocha@2.5.3
│ ├── commander@2.3.0
│ ├─┬ debug@2.2.0
│ │ └── ms@0.7.1
│ ├── diff@1.4.0
│ ├── escape-string-regexp@1.0.2
│ ├─┬ glob@3.2.11
│ │ └─┬ minimatch@0.3.0
│ │ ├── lru-cache@2.7.3
│ │ └── sigmund@1.0.1
│ ├── growl@1.9.2
│ ├─┬ jade@0.26.3
│ │ ├── commander@0.6.1
│ │ └── mkdirp@0.3.0
│ ├── supports-color@1.2.0
│ └── to-iso-string@0.0.2
├─┬ mongoose@3.9.7
│ ├── async@0.9.0
│ ├── hooks@0.3.2
│ ├── kareem@0.0.4
│ ├─┬ mongodb@1.4.12
│ │ ├─┬ bson@0.2.22
│ │ │ └── nan@1.8.4
│ │ ├── kerberos@0.0.4
│ │ └─┬ readable-stream@2.2.3
│ │ ├── buffer-shims@1.0.0
│ │ ├── core-util-is@1.0.2
│ │ ├── isarray@1.0.0
│ │ ├── process-nextick-args@1.0.7
│ │ ├── string_decoder@0.10.31
│ │ └── util-deprecate@1.0.2
│ ├── mpath@0.1.1
│ ├── mpromise@0.5.4
│ ├─┬ mquery@1.0.0
│ │ └── debug@0.7.4
│ ├── ms@0.1.0
│ ├── muri@0.3.1
│ ├── regexp-clone@0.0.1
│ └── sliced@0.0.5
├─┬ morgan@1.8.1
│ └── basic-auth@1.1.0
└─┬ twilio@1.11.1
├── jwt-simple@0.1.0
├── q@0.9.7
├─┬ request@2.27.0
│ ├── aws-sign@0.3.0
│ ├── cookie-jar@0.3.0
│ ├── forever-agent@0.5.2
│ ├─┬ form-data@0.1.4
│ │ ├─┬ combined-stream@0.0.7
│ │ │ └── delayed-stream@0.0.5
│ │ └── mime@1.2.11
│ ├─┬ hawk@1.0.0
│ │ ├── boom@0.4.2
│ │ ├── cryptiles@0.2.2
│ │ ├── hoek@0.9.1
│ │ └── sntp@0.2.4
│ ├─┬ http-signature@0.10.1
│ │ ├── asn1@0.1.11
│ │ ├── assert-plus@0.1.5
│ │ └── ctype@0.5.3
│ ├── json-stringify-safe@5.0.1
│ ├── mime@1.2.11
│ ├── oauth-sign@0.3.0
│ ├── qs@0.6.6
│ └── tunnel-agent@0.3.0
├── scmp@0.0.3
└── underscore@1.8.3
然后我尝试运行node .
并收到错误:
MacBook-Pro:marketing-notifications-node-master $USER$ node .
module.js:471
throw err;
^
Error: Cannot find module 'mongodb/node_modules/bson'
at Function.Module._resolveFilename (module.js:469:15)
at Function.Module._load (module.js:417:25)
at Module.require (module.js:497:17)
at require (internal/module.js:20:19)
at Object.<anonymous> (/Users/$USER/Desktop/marketing-notifications-node-master/node_modules/mongoose/lib/drivers/node-mongodb-native/objectid.js:8:52)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)
at Function.Module._load (module.js:438:3)
修改
我尝试使用npm install -g node-gyp
然后npm install mongoose@3.9.7
npm install -g node-gyp
输出了:
MacBook-Pro:marketing-notifications-node-master $USER$ npm install -g node-gyp
/Users/$USER/.npm-packages/bin/node-gyp -> /Users/$USER/.npm-packages/lib/node_modules/node-gyp/bin/node-gyp.js
/Users/$USER/.npm-packages/lib
└── node-gyp@3.5.0
MacBook-Pro:marketing-notifications-node-master $USER$ npm install mongoose@3.9.7
npm WARN deprecated mongodb@1.4.12: Please upgrade to 2.2.19 or higher
sms-notifications-node@1.0.0 /Users/$USER/Desktop/marketing-notifications-node-master
└── mongoose@3.9.7
答案 0 :(得分:0)
Twilio开发者传道者在这里。
我将尝试在评论之外解决这个问题,因为这很难。
看起来您在安装依赖项时遇到了问题。从this issue on npm's GitHub project建议运行:
git checkout master
然后尝试再次运行完整的npm cache clean
npm install -g npm@latest
,如果可行,请运行npm install
。在项目目录中完成所有这些操作。如果它不起作用,请用任何错误消息更新您的问题,我会再试一次!
编辑来自npm install的输出
node .