2016-11-21 158 views
0

我正在为我的web应用使用heroku。最近几天,我做了一些改动,做了很少的提交,并推送到github回购站,但不是为了heroku。NodeJS Heroku部署错误

这是否会造成任何问题?今天,我试图推动我的应用程序heroku和吐出错误信息,但我很难明白什么是真正的问题。

以下是错误信息,我从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): unspecified 
    engines.npm (package.json): unspecified (use default) 

    Resolving node version (latest stable) via semver.io... 
    Downloading and installing node 5.11.1... 
    Using default npm version: 3.8.6 
-----> Restoring cache 
    Loading 2 from cacheDirectories (default): 
    - node_modules (exists - skipping) 
    - bower_components (not cached - skipping) 
-----> Building dependencies 
    Prebuild detected (node_modules already exists) 
    Rebuilding any native modules 

    > [email protected] install /tmp/build_beaf0bc7e95fb8f9c62b3c6e646e1f10/node_modules/ionic/node_modules/ionic-app-lib/node_modules/glob-watcher/node_modules/chokidar/node_modules/fsevents 
    > node-pre-gyp install --fallback-to-build 

    module.js:341 
    throw err; 
^

    Error: Cannot find module 'npmlog' 
    at Function.Module._resolveFilename (module.js:339:15) 
    at Function.Module._load (module.js:290:25) 
    at Module.require (module.js:367:17) 
    at require (internal/module.js:20:19) 
    at Object.<anonymous> (/tmp/build_beaf0bc7e95fb8f9c62b3c6e646e1f10/node_modules/ionic/node_modules/ionic-app-lib/node_modules/glob-watcher/node_modules/chokidar/node_modules/fsevents/node_modules/node-pre-gyp/lib/node-pre-gyp.js:15:11) 
    at Module._compile (module.js:413:34) 
    at Object.Module._extensions..js (module.js:422:10) 
    at Module.load (module.js:357:32) 
    at Function.Module._load (module.js:314:12) 
    at Module.require (module.js:367:17) 

    npm ERR! Linux 3.13.0-100-generic 
    npm ERR! argv "/tmp/build_beaf0bc7e95fb8f9c62b3c6e646e1f10/.heroku/node/bin/node" "/tmp/build_beaf0bc7e95fb8f9c62b3c6e646e1f10/.heroku/node/bin/npm" "rebuild" 
    npm ERR! node v5.11.1 
    npm ERR! npm v3.8.6 
    npm ERR! code ELIFECYCLE 
    npm ERR! [email protected] install: `node-pre-gyp install --fallback-to-build` 
    npm ERR! Exit status 1 
    npm ERR! 
    npm ERR! Failed at the [email protected] install script 'node-pre-gyp install --fallback-to-build'. 
    npm ERR! Make sure you have the latest version of node.js and npm installed. 
    npm ERR! If you do, this is most likely a problem with the fsevents package, 
    npm ERR! not with npm itself. 
    npm ERR! Tell the author that this fails on your system: 
    npm ERR!  node-pre-gyp install --fallback-to-build 
    npm ERR! You can get information on how to open an issue for this project with: 
    npm ERR!  npm bugs fsevents 
    npm ERR! Or if that isn't available, you can get their info via: 
    npm ERR!  npm owner ls fsevents 
    npm ERR! There is likely additional logging output above. 

    npm ERR! Please include the following file with any support request: 
    npm ERR!  /tmp/build_beaf0bc7e95fb8f9c62b3c6e646e1f10/npm-debug.log 
-----> Build failed 

    We're sorry this build is failing! You can troubleshoot common issues here: 
    https://devcenter.heroku.com/articles/troubleshooting-node-deploys 

    Some possible problems: 

    - node_modules checked into source control 
    https://blog.heroku.com/node-habits-2016#9-only-git-the-important-bits 

    - Node version not specified in package.json 
    https://devcenter.heroku.com/articles/nodejs-support#specifying-a-node-js-version 

    - A module may be missing from 'dependencies' in package.json 
    https://devcenter.heroku.com/articles/troubleshooting-node-deploys#ensure-you-aren-t-relying-on-untracked-dependencies 

    - This module may be specified in 'devDependencies' instead of 'dependencies' 
    https://devcenter.heroku.com/articles/nodejs-support#devdependencies 

    Love, 
    Heroku 

了!推送被拒绝,无法编译Node.js应用程序。 !推送失败

回答

0

我得到了一个解决方案。

从字面上看,错误消息是由于缺少fsevents而创建的。我发现fsevents是只能在Mac OS上安装和运行的模块。虽然我的笔记本电脑和heroku服务器不是Mac。

该问题刚刚创建,因为我们正在使用github和我的同事一起开发项目。我使用Ubuntu,他使用Mac。他试图在他的笔记本电脑上安装离子,而离子安装则带有离子。

毕竟,我卸载离子,我可以成功地将我的项目部署到heroku。

下面的链接帮我弄清楚了。如果你想检查它,请参考它。 https://github.com/linnovate/mean/issues/411