在heroku上部署时出错

时间:2016-03-03 17:24:24

标签: node.js heroku gyp

我已经使用npm start离线工作,但是没有使用 heroku

构建日志

-----> Node.js app detected
-----> Creating runtime environment

   NPM_CONFIG_LOGLEVEL=error
   NPM_CONFIG_PRODUCTION=true
   NODE_ENV=production
   NODE_MODULES_CACHE=true
-----> Installing binaries
   engines.node (package.json):  4.2.3
   engines.npm (package.json):   2.14.7

   Downloading and installing node 4.2.3...
   npm 2.14.7 already installed with node
-----> Restoring cache
   Skipping cache restore (new runtime signature)
 -----> Building dependencies
   Pruning any extraneous modules
   Installing node modules (package.json)

   > hiredis@0.4.1 install /tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/node_modules/mors/node_modules/mosca/node_modules/hiredis
   > node-gyp rebuild

   make: Entering directory `/tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/node_modules/mors/node_modules/mosca/node_modules/hiredis/build'
   CC(target) Release/obj.target/hiredis-c/deps/hiredis/sds.o
   CC(target) Release/obj.target/hiredis-c/deps/hiredis/read.o
   AR(target) Release/obj.target/deps/hiredis-c.a
   COPY Release/hiredis-c.a
   CXX(target) Release/obj.target/hiredis/src/hiredis.o
   CXX(target) Release/obj.target/hiredis/src/reader.o
   SOLINK_MODULE(target) Release/obj.target/hiredis.node
   COPY Release/hiredis.node
   make: Leaving directory `/tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/node_modules/mors/node_modules/mosca/node_modules/hiredis/build'

   > bufferutil@1.2.1 install /tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/node_modules/mors/node_modules/mosca/node_modules/websocket-stream/node_modules/ws/node_modules/bufferutil
   > node-gyp rebuild

   make: Entering directory `/tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/node_modules/mors/node_modules/mosca/node_modules/websocket-stream/node_modules/ws/node_modules/bufferutil/build'
   CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
   SOLINK_MODULE(target) Release/obj.target/bufferutil.node
   COPY Release/bufferutil.node
   make: Leaving directory `/tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/node_modules/mors/node_modules/mosca/node_modules/websocket-stream/node_modules/ws/node_modules/bufferutil/build'

   > utf-8-validate@1.2.1 install /tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/node_modules/mors/node_modules/mosca/node_modules/websocket-stream/node_modules/ws/node_modules/utf-8-validate
   > node-gyp rebuild

   make: Entering directory `/tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/node_modules/mors/node_modules/mosca/node_modules/websocket-stream/node_modules/ws/node_modules/utf-8-validate/build'
   CXX(target) Release/obj.target/validation/src/validation.o
   SOLINK_MODULE(target) Release/obj.target/validation.node
   COPY Release/validation.node
   make: Leaving directory `/tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/node_modules/mors/node_modules/mosca/node_modules/websocket-stream/node_modules/ws/node_modules/utf-8-validate/build'

   > zmq@2.12.0 install /tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/node_modules/mors/node_modules/mosca/node_modules/zmq
   > node-gyp rebuild

   make: Entering directory `/tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/node_modules/mors/node_modules/mosca/node_modules/zmq/build'
   CXX(target) Release/obj.target/zmq/binding.o
   ../binding.cc:28:17: fatal error: zmq.h: No such file or directory
   #include <zmq.h>
   ^
   compilation terminated.
   make: *** [Release/obj.target/zmq/binding.o] Error 1
   make: Leaving directory `/tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/node_modules/mors/node_modules/mosca/node_modules/zmq/build'
   gyp ERR! build error
   gyp ERR! stack Error: `make` failed with exit code: 2
   gyp ERR! stack     at ChildProcess.onExit (/tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/.heroku/node/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
   gyp ERR! stack     at emitTwo (events.js:87:13)
   gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
   gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
   gyp ERR! System Linux 3.13.0-77-generic
   gyp ERR! command "/tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/.heroku/node/bin/node" "/tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/.heroku/node/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
   gyp ERR! cwd /tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/node_modules/mors/node_modules/mosca/node_modules/zmq
   gyp ERR! node -v v4.2.3
   gyp ERR! node-gyp -v v3.0.3
   gyp ERR! not ok

   > dtrace-provider@0.6.0 install /tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/node_modules/mors/node_modules/mosca/node_modules/bunyan/node_modules/dtrace-provider
   > node scripts/install.js


   > zmq@2.11.1 install /tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/node_modules/mors/node_modules/mosca/node_modules/ascoltatori/node_modules/zmq
   > node-gyp rebuild

   make: Entering directory `/tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/node_modules/mors/node_modules/mosca/node_modules/ascoltatori/node_modules/zmq/build'
   CXX(target) Release/obj.target/zmq/binding.o
   ../binding.cc:28:17: fatal error: zmq.h: No such file or directory
   #include <zmq.h>
   ^
   compilation terminated.
   make: *** [Release/obj.target/zmq/binding.o] Error 1
   make: Leaving directory `/tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/node_modules/mors/node_modules/mosca/node_modules/ascoltatori/node_modules/zmq/build'
   gyp ERR! build error
   gyp ERR! stack Error: `make` failed with exit code: 2
   gyp ERR! stack     at ChildProcess.onExit (/tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/.heroku/node/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
   gyp ERR! stack     at emitTwo (events.js:87:13)
   gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
   gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
   gyp ERR! System Linux 3.13.0-77-generic
   gyp ERR! command "/tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/.heroku/node/bin/node" "/tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/.heroku/node/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
   gyp ERR! cwd /tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/node_modules/mors/node_modules/mosca/node_modules/ascoltatori/node_modules/zmq
   gyp ERR! node -v v4.2.3
   gyp ERR! node-gyp -v v3.0.3
   gyp ERR! not ok

   > buffertools@2.1.3 install /tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/node_modules/mors/node_modules/mosca/node_modules/ascoltatori/node_modules/qlobber-fsq/node_modules/buffertools
   > node-gyp rebuild

   make: Entering directory `/tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/node_modules/mors/node_modules/mosca/node_modules/ascoltatori/node_modules/qlobber-fsq/node_modules/buffertools/build'
   CXX(target) Release/obj.target/buffertools/buffertools.o
   SOLINK_MODULE(target) Release/obj.target/buffertools.node
   COPY Release/buffertools.node
   make: Leaving directory `/tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/node_modules/mors/node_modules/mosca/node_modules/ascoltatori/node_modules/qlobber-fsq/node_modules/buffertools/build'

   > kerberos@0.0.18 install /tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/node_modules/mors/node_modules/mosca/node_modules/mongodb/node_modules/kerberos
   > (node-gyp rebuild) || (exit 0)

   make: Entering directory `/tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/node_modules/mors/node_modules/mosca/node_modules/mongodb/node_modules/kerberos/build'
   CXX(target) Release/obj.target/kerberos/lib/kerberos.o
   CXX(target) Release/obj.target/kerberos/lib/worker.o
   CC(target) Release/obj.target/kerberos/lib/kerberosgss.o
   ../lib/kerberosgss.c:36:0: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
   #pragma clang diagnostic push
   ^
   ../lib/kerberosgss.c:37:0: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
   #pragma clang diagnostic ignored "-Wdeprecated-declarations"
   ^
   ../lib/kerberosgss.c: In function ‘authenticate_gss_client_wrap’:
   ../lib/kerberosgss.c:362:19: warning: variable ‘server_conf_flags’ set but not used [-Wunused-but-set-variable]
   char buf[4096], server_conf_flags;
   ^
   ../lib/kerberosgss.c: At top level:
   ../lib/kerberosgss.c:930:0: warning: ignoring #pragma clang diagnostic [-Wunknown-pragmas]
   #pragma clang diagnostic pop
   ^
   CC(target) Release/obj.target/kerberos/lib/base64.o
   CXX(target) Release/obj.target/kerberos/lib/kerberos_context.o
   SOLINK_MODULE(target) Release/obj.target/kerberos.node
   COPY Release/kerberos.node
   make: Leaving directory `/tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/node_modules/mors/node_modules/mosca/node_modules/mongodb/node_modules/kerberos/build'

   > fs-ext@0.4.6 install /tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/node_modules/mors/node_modules/mosca/node_modules/ascoltatori/node_modules/qlobber-fsq/node_modules/fs-ext
   > node-gyp configure build

   make: Entering directory `/tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/node_modules/mors/node_modules/mosca/node_modules/ascoltatori/node_modules/qlobber-fsq/node_modules/fs-ext/build'
   CXX(target) Release/obj.target/fs-ext/fs-ext.o
   In file included from ../fs-ext.cc:27:0:
   ../node_modules/nan/nan.h:324:27: error: redefinition of ‘template<class T> v8::Local<T> Nan::imp::NanEnsureHandleOrPersistent(const v8::Local<T>&)’
   NAN_INLINE v8::Local<T> NanEnsureHandleOrPersistent(const v8::Local<T> &val) {
   ^
   ../node_modules/nan/nan.h:319:17: error: ‘template<class T> v8::Handle<T> Nan::imp::NanEnsureHandleOrPersistent(v8::Handle<T>&)’ previously declared here
   v8::Handle<T> NanEnsureHandleOrPersistent(const v8::Handle<T> &val) {
   ^
   ../node_modules/nan/nan.h:344:27: error: redefinition of ‘template<class T> v8::Local<T> Nan::imp::NanEnsureLocal(v8::Handle<T>&)’
   NAN_INLINE v8::Local<T> NanEnsureLocal(const v8::Handle<T> &val) {
   ^
   ../node_modules/nan/nan.h:334:27: error: ‘template<class T> v8::Local<T> Nan::imp::NanEnsureLocal(const v8::Local<T>&)’ previously declared here
   NAN_INLINE v8::Local<T> NanEnsureLocal(const v8::Local<T> &val) {
   ^
   ../node_modules/nan/nan.h:757:13: error: ‘node::smalloc’ has not been declared
   , node::smalloc::FreeCallback callback
   ^
   ../node_modules/nan/nan.h:757:35: error: expected ‘,’ or ‘...’ before ‘callback’
   , node::smalloc::FreeCallback callback
   ^
   ../node_modules/nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(char*, size_t, int)’:
   ../node_modules/nan/nan.h:761:50: error: ‘callback’ was not declared in this scope
   v8::Isolate::GetCurrent(), data, length, callback, hint);
   ^
   ../node_modules/nan/nan.h:761:60: error: ‘hint’ was not declared in this scope
   v8::Isolate::GetCurrent(), data, length, callback, hint);
   ^
   ../node_modules/nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(const char*, uint32_t)’:
   ../node_modules/nan/nan.h:768:67: error: call of overloaded ‘New(v8::Isolate*, const char*&, uint32_t&)’ is ambiguous
   return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
   ^
   ../node_modules/nan/nan.h:768:67: note: candidates are:
   In file included from ../node_modules/nan/nan.h:25:0,
   from ../fs-ext.cc:27:
   /app/.node-gyp/4.2.3/include/node/node_buffer.h:31:40: note: v8::MaybeLocal<v8::Object> node::Buffer::New(v8::Isolate*, v8::Local<v8::String>, node::encoding) <near match>
   NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
   ^
   /app/.node-gyp/4.2.3/include/node/node_buffer.h:31:40: note:   no known conversion for argument 3 from ‘uint32_t {aka unsigned int}’ to ‘node::encoding’
   /app/.node-gyp/4.2.3/include/node/node_buffer.h:43:40: note: v8::MaybeLocal<v8::Object> node::Buffer::New(v8::Isolate*, char*, size_t) <near match>
   NODE_EXTERN v8::MaybeLocal<v8::Object> New(v8::Isolate* isolate,
   ^
   /app/.node-gyp/4.2.3/include/node/node_buffer.h:43:40: note:   no known conversion for argument 2 from ‘const char*’ to ‘char*’
   In file included from ../fs-ext.cc:27:0:
   ../node_modules/nan/nan.h: In function ‘v8::Local<v8::Object> NanNewBufferHandle(uint32_t)’:
   ../node_modules/nan/nan.h:772:61: error: could not convert ‘node::Buffer::New(v8::Isolate::GetCurrent(), ((size_t)size))’ from ‘v8::MaybeLocal<v8::Object>’ to ‘v8::Local<v8::Object>’
   return node::Buffer::New(v8::Isolate::GetCurrent(), size);
   ^
   ../node_modules/nan/nan.h: In function ‘v8::Local<v8::Object> NanBufferUse(char*, uint32_t)’:
   ../node_modules/nan/nan.h:779:12: error: ‘Use’ is not a member of ‘node::Buffer’
   return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
   ^
   make: *** [Release/obj.target/fs-ext/fs-ext.o] Error 1
   make: Leaving directory `/tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/node_modules/mors/node_modules/mosca/node_modules/ascoltatori/node_modules/qlobber-fsq/node_modules/fs-ext/build'
   gyp ERR! build error
   gyp ERR! stack Error: `make` failed with exit code: 2
   gyp ERR! stack     at ChildProcess.onExit (/tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/.heroku/node/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
   gyp ERR! stack     at emitTwo (events.js:87:13)
   gyp ERR! stack     at ChildProcess.emit (events.js:172:7)
   gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
   gyp ERR! System Linux 3.13.0-77-generic
   gyp ERR! command "/tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/.heroku/node/bin/node" "/tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/.heroku/node/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "build"
   gyp ERR! cwd /tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/node_modules/mors/node_modules/mosca/node_modules/ascoltatori/node_modules/qlobber-fsq/node_modules/fs-ext
   gyp ERR! node -v v4.2.3
   gyp ERR! node-gyp -v v3.0.3
   gyp ERR! not ok

   > leveldown@1.4.4 install /tmp/build_53fdc0bcb9495ddaeba9fc11b5883afa/Mansoor-amin-MySalesmanApp-b437df7/node_modules/mors/node_modules/mosca/node_modules/leveldown
   > prebuild --install

   q@1.4.1 node_modules/q

   cors@2.7.1 node_modules/cors
   └── vary@1.1.0

   angularfire@1.1.4 node_modules/angularfire
   └── angular@1.5.0

   express@4.13.4 node_modules/express
   ├── escape-html@1.0.3
   ├── array-flatten@1.1.1
   ├── cookie-signature@1.0.6
   ├── utils-merge@1.0.0
   ├── vary@1.0.1
   ├── methods@1.1.2
   ├── content-type@1.0.1
   ├── merge-descriptors@1.0.1
   ├── content-disposition@0.5.1
   ├── fresh@0.3.0
   ├── range-parser@1.0.3
   ├── serve-static@1.10.2
   ├── path-to-regexp@0.1.7
   ├── parseurl@1.3.1
   ├── etag@1.7.0
   ├── cookie@0.1.5
   ├── depd@1.1.0
   ├── qs@4.0.0
   ├── on-finished@2.3.0 (ee-first@1.1.1)
   ├── finalhandler@0.4.1 (unpipe@1.0.0)
   ├── debug@2.2.0 (ms@0.7.1)
   ├── proxy-addr@1.0.10 (forwarded@0.1.0, ipaddr.js@1.0.5)
   ├── send@0.13.1 (destroy@1.0.4, statuses@1.2.1, ms@0.7.1, mime@1.3.4, http-errors@1.3.1)
   ├── accepts@1.2.13 (negotiator@0.5.3, mime-types@2.1.10)
   └── type-is@1.6.11 (media-typer@0.3.0, mime-types@2.1.10)

   body-parser@1.15.0 node_modules/body-parser
   ├── content-type@1.0.1
   ├── bytes@2.2.0
   ├── depd@1.1.0
   ├── qs@6.1.0
   ├── on-finished@2.3.0 (ee-first@1.1.1)
   ├── raw-body@2.1.5 (unpipe@1.0.0)
   ├── http-errors@1.4.0 (statuses@1.2.1, inherits@2.0.1)
   ├── debug@2.2.0 (ms@0.7.1)
   ├── iconv-lite@0.4.13
   └── type-is@1.6.11 (media-typer@0.3.0, mime-types@2.1.10)

   firebase@2.4.1 node_modules/firebase
   └── faye-websocket@0.9.3 (websocket-driver@0.5.2)

   mongoose@4.4.5 node_modules/mongoose
   ├── ms@0.7.1
   ├── sliced@1.0.1
   ├── regexp-clone@0.0.1
   ├── hooks-fixed@1.1.0
   ├── async@1.5.2
   ├── muri@1.1.0
   ├── mpromise@0.5.5
   ├── kareem@1.0.1
   ├── mpath@0.2.1
   ├── bson@0.4.21
   ├── mquery@1.7.0 (debug@2.2.0, sliced@0.0.5, bluebird@2.9.26)
   └── mongodb@2.1.6 (es6-promise@3.0.2, readable-stream@1.0.31, mongodb-core@1.3.1)

   mors@0.1.13 node_modules/mors
   ├── routes@2.1.0
   ├── debug@2.2.0 (ms@0.7.1)
   ├── lodash@3.10.1
   └── mosca@0.32.1 (commander@2.3.0, moving-average@0.0.5, json-buffer@2.0.11, retimer@1.0.1, extend@2.0.1, async@0.9.2, lru-cache@2.5.2, redis@0.12.1, deepcopy@0.3.3, jsonschema@1.1.0, shortid@2.2.4, uuid@2.0.1, qlobber@0.5.3, minimatch@1.0.0, nan@2.0.9, pbkdf2-password@1.1.0, memdown@0.10.2, st@0.5.5, moment@2.8.4, mqtt-connection@2.1.1, levelup@1.3.1, msgpack5@1.6.0, amqp@0.2.4, hiredis@0.4.1, mqtt@1.7.2, level-sublevel@6.5.4, brfs@1.3.0, websocket-stream@2.0.2, bunyan@1.7.0, mongodb@2.0.55, ascoltatori@0.21.1, leveldown@1.4.4)
-----> Caching build
   Clearing previous node cache
   Saving 2 cacheDirectories (default):
   - node_modules
   - bower_components (nothing to cache)
-----> Build succeeded!
   ├── angularfire@1.1.4
   ├── body-parser@1.15.0
   ├── cors@2.7.1
   ├── express@4.13.4
   ├── firebase@2.4.1
   ├── mongoose@4.4.5
   ├── mors@0.1.13
   └── q@1.4.1

-----> Discovering process types
   Procfile declares types     -> (none)
   Default types for buildpack -> web
-----> Compressing...
   Done: 23.6M
-----> Launching...
   Released v3
   https://mysalesmanapp.herokuapp.com/ deployed to Heroku

github上 https://github.com/Mansoor-amin/MySalesmanApp.git

heroku上 https://mysalesmanapp.herokuapp.com/

2 个答案:

答案 0 :(得分:0)

使用NODE_MODULES_CACHE=false配置设置。如果可以执行此操作,则另一个选项是删除应用程序并使用该设置重新创建它。

答案 1 :(得分:0)

我找到了一个在主应用程序之前在heroku上安装zmq的好方法,因此zmq.h在部署/编译时可用:

  1. https://github.com/heroku/heroku-buildpack-apt添加为buildpack。我在heroku/nodejs之上添加了它,不确定它是否有所作为。
  2. 使用此内容将新文件Aptfile提交到您的repo根目录: libzmq3-dbg libzmq3-dev libzmq3