Heroku构建失败:"node_modules已签入源代码控制" [英] Heroku Build Failed: "node_modules checked into source control"

查看:76
本文介绍了Heroku构建失败:"node_modules已签入源代码控制"的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Heroku上部署了一个基于MEAN堆栈的站点.在解决问题时,我从.gitignore文件中删除了 node_modules/,并且自从我的应用程序出现构建失败"错误以来.

I am deploying a site built upon MEAN stack on Heroku. While troubleshooting an issue I removed node_modules/ from my .gitignore file and ever since my app has been getting "Build failed" errors.

我将node_modules/读到文件中,但是由于构建仍然失败,因此损坏似乎已经完成.

I readded node_modules/ to the file, but it seems the damage has been done as builds still fail.

日志中建议的可能问题之一是: -node_modules已签入源代码控制"

One of the possible problems that is suggested in the log is: "- node_modules checked into source control"

我该如何撤消我所做的事情?

How do I go about undoing what I did?

 -----> Deleting 1 files matching .slugignore patterns.
 -----> Using set buildpack heroku/nodejs
 -----> 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):  0.10.x
   engines.npm (package.json):   2.x.x

   Resolving node version 0.10.x via semver.io...
   Downloading and installing node 0.10.41...
   Resolving npm version 2.x.x via semver.io...
   Downloading and installing npm 2.14.15 (replacing version 1.4.29)...
   npm WARN deprecated This version of npm lacks support for important features,
   npm WARN deprecated such as scoped packages, offered by the primary npm
   npm WARN deprecated registry. Consider upgrading to at least npm@2, if not the
   npm WARN deprecated latest stable version. To upgrade to npm@2, run:
   npm WARN deprecated
   npm WARN deprecated   npm -g install npm@latest-2
   npm WARN deprecated
   npm WARN deprecated To upgrade to the latest stable version, run:
   npm WARN deprecated
   npm WARN deprecated   npm -g install npm@latest
   npm WARN deprecated
   npm WARN deprecated (Depending on how Node.js was installed on your system, you
   npm WARN deprecated may need to prefix the preceding commands with `sudo`, or if
   npm WARN deprecated on Windows, run them from an Administrator prompt.)
   npm WARN deprecated
   npm WARN deprecated If you're running the version of npm bundled with
   npm WARN deprecated Node.js 0.10 LTS, be aware that the next version of 0.10 LTS
   npm WARN deprecated will be bundled with a version of npm@2, which has some small
   npm WARN deprecated backwards-incompatible changes made to `npm run-script` and
   npm WARN deprecated semver behavior.
 -----> 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

   > bson@0.2.22 install /tmp/build_###########/node_modules/connect-mongo/node_modules/bson
   > (node-gyp rebuild 2> builderror.log) || (exit 0)

   make: Entering directory `/tmp/build_###########/node_modules/connect-mongo/node_modules/bson/build'
   CXX(target) Release/obj.target/bson/ext/bson.o
   SOLINK_MODULE(target) Release/obj.target/bson.node
   COPY Release/bson.node
   make: Leaving directory `/tmp/build_###########/node_modules/connect-mongo/node_modules/bson/build'

   > bson@0.2.22 install /tmp/build_###########/node_modules/connect-mongo/node_modules/bson
   > (node-gyp rebuild 2> builderror.log) || (exit 0)

   make: Entering directory `/tmp/build_###########/node_modules/connect-mongo/node_modules/bson/build'
   CXX(target) Release/obj.target/bson/ext/bson.o
   SOLINK_MODULE(target) Release/obj.target/bson.node
   COPY Release/bson.node
   make: Leaving directory `/tmp/build_###########/node_modules/connect-mongo/node_modules/bson/build'

   > bson@0.2.22 install /tmp/build_###########/node_modules/mongoose/node_modules/mongodb/node_modules/bson
   > (node-gyp rebuild 2> builderror.log) || (exit 0)

   make: Entering directory `/tmp/build_###########/node_modules/mongoose/node_modules/mongodb/node_modules/bson/build'
   CXX(target) Release/obj.target/bson/ext/bson.o
   SOLINK_MODULE(target) Release/obj.target/bson.node
   COPY Release/bson.node
   make: Leaving directory `/tmp/build_###########/node_modules/mongoose/node_modules/mongodb/node_modules/bson/build'

   > phantomjs@1.9.19 install /tmp/build_###########/node_modules/phantomjs
   > node install.js

   PhantomJS not found on PATH
   Downloading https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.8-linux-x86_64.tar.bz2
   Saving to /tmp/phantomjs/phantomjs-1.9.8-linux-x86_64.tar.bz2
   Receiving...

   Received 12854K total.
   Extracting tar contents (via spawned process)
   Removing /tmp/build_###########/node_modules/phantomjs/lib/phantom
   Copying extracted folder /tmp/phantomjs/phantomjs-1.9.8-linux-x86_64.tar.bz2-extract-1450118671217/phantomjs-1.9.8-linux-x86_64 -> /tmp/build_###########/node_modules/phantomjs/lib/phantom
   Writing location.js file
   Done. Phantomjs binary available at /tmp/build_###########/node_modules/phantomjs/lib/phantom/bin/phantomjs

   > kerberos@0.0.11 install /tmp/build_###########/node_modules/kerberos
   > (node-gyp rebuild 2> builderror.log) || (exit 0)

   make: Entering directory `/tmp/build_###########/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
   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_###########/node_modules/kerberos/build'

   > ws@0.4.32 install /tmp/build_###########/node_modules/ws
   > (node-gyp rebuild 2> builderror.log) || (exit 0)

   make: Entering directory `/tmp/build_###########/node_modules/ws/build'
   CXX(target) Release/obj.target/bufferutil/src/bufferutil.o
   SOLINK_MODULE(target) Release/obj.target/bufferutil.node
   COPY Release/bufferutil.node
   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_###########/node_modules/ws/build'

   > v8-profiler@5.2.12 preinstall /tmp/build_###########/node_modules/v8-profiler
   >


   > v8-profiler@5.2.12 install /tmp/build_###########/node_modules/v8-profiler
   > node-pre-gyp install --fallback-to-build

   sh: 1: node-pre-gyp: Permission denied

   npm ERR! Linux 3.13.0-71-generic
   npm ERR! argv "node" "/tmp/build_###########/.heroku/node/bin/npm" "rebuild"
   npm ERR! node v0.10.41
   npm ERR! npm  v2.14.15
   npm ERR! code ELIFECYCLE
   npm ERR! v8-profiler@5.2.12 install: `node-pre-gyp install --fallback-to-build`
   npm ERR! Exit status 126
   npm ERR!
   npm ERR! Failed at the v8-profiler@5.2.12 install script 'node-pre-gyp install --fallback-to-build'.
   npm ERR! This is most likely a problem with the v8-profiler 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 their info via:
   npm ERR!     npm owner ls v8-profiler
   npm ERR! There is likely additional logging output above.

   npm ERR! Please include the following file with any support request:
   npm ERR!     /tmp/build_###########/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://docs.npmjs.com/misc/faq#should-i-check-my-node-modules-folder-into-git

   Love,
   Heroku

  !     Push rejected, failed to compile Node.js app

推荐答案

尽管您已经将node_modules重新添加到.gitignore中,但是正如您所说的,损坏已经完成.因此,您需要从git仓库中删除node_modules.试试这个:

Although you've re-added node_modules to your .gitignore, as you say, the damage has already been done. So you need to remove node_modules from your git repo. Try this:

git rm -r --cached node_modules
git commit -m 'Remove node_modules'

第一个命令以递归方式从git repo中删除node_modules而不删除您的本地文件,第二个命令提交删除.

The first command recursively removes node_modules from the git repo without removing your local files, the second commits the removal.

然后您可以将所做的更改推送到Heroku.

You can then push your changes to Heroku.

这篇关于Heroku构建失败:"node_modules已签入源代码控制"的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆