" [远程拒绝主人]" - >主人(预先接收挂钩拒绝)

时间:2016-05-22 16:22:52

标签: node.js git heroku

我使用Window机器。我想将我的网页游戏上传到heroku但我收到以下错误:

        E:\node3>git push heroku master
    Counting objects: 754, done.
    Delta compression using up to 4 threads.
    Compressing objects: 100% (687/687), done.
    Writing objects: 100% (754/754), 3.88 MiB | 313.00 KiB/s, done.
    Total 754 (delta 220), reused 0 (delta 0)
    remote: Compressing source files... done.
    remote: Building source:
    remote:
    remote: -----> Node.js app detected
    remote:
    remote: -----> Creating runtime environment
    remote:
    remote:        NPM_CONFIG_LOGLEVEL=error
    remote:        NPM_CONFIG_PRODUCTION=true
    remote:        NODE_ENV=production
    remote:        NODE_MODULES_CACHE=true
    remote:
    remote: -----> Installing binaries
    remote:        engines.node (package.json):  unspecified
    remote:        engines.npm (package.json):   unspecified (use default)
    remote:
    remote:        Resolving node version (latest stable) via semver.io...
    remote:        Downloading and installing node 5.11.1...
    remote:        Using default npm version: 3.8.6
    remote:
    remote: -----> Restoring cache
    remote:        Skipping cache restore (new runtime signature)
    remote:
    remote: -----> Building dependencies
    remote:        Prebuild detected (node_modules already exists)
    remote:        Rebuilding any native modules
    remote:        npm ERR! Linux 3.13.0-85-generic
    remote:        npm ERR! argv "/tmp/build_396b33dc70a40199869b48acc6cc98f7/.herok
    u/node/bin/node" "/tmp/build_396b33dc70a40199869b48acc6cc98f7/.heroku/node/bin/n
    pm" "rebuild"
    remote:        npm ERR! node v5.11.1
    remote:        npm ERR! npm  v3.8.6
    remote:        npm ERR! path /tmp/build_396b33dc70a40199869b48acc6cc98f7/node_mo
    dules/express/node_modules/send/node_modules/mime/cli.js
    remote:        npm ERR! code ENOENT
    remote:        npm ERR! errno -2
    remote:        npm ERR! syscall chmod
    remote:
    remote:        npm ERR! enoent ENOENT: no such file or directory, chmod '/tmp/bu
    ild_396b33dc70a40199869b48acc6cc98f7/node_modules/express/node_modules/send/node
    _modules/mime/cli.js'
    remote:        npm ERR! enoent ENOENT: no such file or directory, chmod '/tmp/bu
    ild_396b33dc70a40199869b48acc6cc98f7/node_modules/express/node_modules/send/node
    _modules/mime/cli.js'
    remote:        npm ERR! enoent This is most likely not a problem with npm itself

    remote:        npm ERR! enoent and is related to npm not being able to find a fi
    le.
    remote:        npm ERR! enoent
    remote:
    remote:        npm ERR! Please include the following file with any support reque
    st:
    remote:        npm ERR!     /tmp/build_396b33dc70a40199869b48acc6cc98f7/npm-debu
    g.log
    remote:
    remote: -----> Build failed
    remote:
    remote:        We're sorry this build is failing! You can troubleshoot common is
    sues here:
    remote:        https://devcenter.heroku.com/articles/troubleshooting-node-deploy
    s
    remote:
    remote:        Some possible problems:
    remote:
    remote:        - node_modules checked into source control
    remote:        https://docs.npmjs.com/misc/faq#should-i-check-my-node-modules-fo
    lder-into-git
    remote:
    remote:        - Node version not specified in package.json
    remote:        https://devcenter.heroku.com/articles/nodejs-support#specifying-a
    -node-js-version
    remote:
    remote:        Love,
    remote:        Heroku
    remote:
    remote:
    remote:  !     Push rejected, failed to compile Node.js app
    remote:
    remote: Verifying deploy...
    remote:
    remote: !       Push rejected to iktsl.
    remote:
    To https://git.heroku.com/iktsl.git
     ! [remote rejected] master -> master (pre-receive hook declined)
    error: failed to push some refs to 'https://git.heroku.com/iktsl.git'

    E:\node3>git push heroku master
    Counting objects: 754, done.
    Delta compression using up to 4 threads.
    Compressing objects: 100% (687/687), done.
    Writing objects: 100% (754/754), 3.88 MiB | 322.00 KiB/s, done.
    Total 754 (delta 220), reused 0 (delta 0)
    remote: Compressing source files... done.
    remote: Building source:
    remote:
    remote: -----> Node.js app detected
    remote:
    remote: -----> Creating runtime environment
    remote:
    remote:        NPM_CONFIG_LOGLEVEL=error
    remote:        NPM_CONFIG_PRODUCTION=true
    remote:        NODE_ENV=production
    remote:        NODE_MODULES_CACHE=true
    remote:
    remote: -----> Installing binaries
    remote:        engines.node (package.json):  unspecified
    remote:        engines.npm (package.json):   unspecified (use default)
    remote:
    remote:        Resolving node version (latest stable) via semver.io...
    remote:        Downloading and installing node 5.11.1...
    remote:        Using default npm version: 3.8.6
    remote:
    remote: -----> Restoring cache
    remote:        Skipping cache restore (new runtime signature)
    remote:
    remote: -----> Building dependencies
    remote:        Prebuild detected (node_modules already exists)
    remote:        Rebuilding any native modules
    remote:        npm ERR! Linux 3.13.0-85-generic
    remote:        npm ERR! argv "/tmp/build_373306132b00e684ff5b33e668925804/.herok
    u/node/bin/node" "/tmp/build_373306132b00e684ff5b33e668925804/.heroku/node/bin/n
    pm" "rebuild"
    remote:        npm ERR! node v5.11.1
    remote:        npm ERR! npm  v3.8.6
    remote:        npm ERR! path /tmp/build_373306132b00e684ff5b33e668925804/node_mo
    dules/express/node_modules/send/node_modules/mime/cli.js
    remote:        npm ERR! code ENOENT
    remote:        npm ERR! errno -2
    remote:        npm ERR! syscall chmod
    remote:
    remote:        npm ERR! enoent ENOENT: no such file or directory, chmod '/tmp/bu
    ild_373306132b00e684ff5b33e668925804/node_modules/express/node_modules/send/node
    _modules/mime/cli.js'
    remote:        npm ERR! enoent ENOENT: no such file or directory, chmod '/tmp/bu
    ild_373306132b00e684ff5b33e668925804/node_modules/express/node_modules/send/node
    _modules/mime/cli.js'
    remote:        npm ERR! enoent This is most likely not a problem with npm itself

    remote:        npm ERR! enoent and is related to npm not being able to find a fi
    le.
    remote:        npm ERR! enoent
    remote:
    remote:        npm ERR! Please include the following file with any support reque
    st:
    remote:        npm ERR!     /tmp/build_373306132b00e684ff5b33e668925804/npm-debu
    g.log
    remote:
    remote: -----> Build failed
    remote:
    remote:        We're sorry this build is failing! You can troubleshoot common is
    sues here:
    remote:        https://devcenter.heroku.com/articles/troubleshooting-node-deploy
    s
    remote:
    remote:        Some possible problems:
    remote:
    remote:        - node_modules checked into source control
    remote:        https://docs.npmjs.com/misc/faq#should-i-check-my-node-modules-fo
    lder-into-git
    remote:
    remote:        - Node version not specified in package.json
    remote:        https://devcenter.heroku.com/articles/nodejs-support#specifying-a
    -node-js-version
    remote:
    remote:        Love,
    remote:        Heroku
    remote:
    remote:
    remote:  !     Push rejected, failed to compile Node.js app
    remote:
    remote: Verifying deploy...
    remote:
    remote: !       Push rejected to iktsl.
    remote:
    To https://git.heroku.com/***.git
     ! [remote rejected] master -> master (pre-receive hook declined)

我知道它与node_modules有某种联系,但我无法理解这是什么问题。 我将不胜感激任何帮助。感谢。

我的package.json

{
"name": "iktsl",
"version": "0.0.1",
"private": true,
"scripts": {
  "start": "node app.js"
},
"dependencies": {
  "express": "4.x",
  "socket.io": "^1.3.5" 
  }
}

2 个答案:

答案 0 :(得分:1)

我也遇到了同样的问题 解决方案是

  1. 在客户端和服务器上删除package-lock.json文件

  2. 确保至少在本地使用LTS版本的Node

  3. 确保您的本地Node版本与package.json文件的engines属性中显示的版本匹配。

  4. 运行git add。 ,git commit -m“修复版本”和git推送heroku主命令以强制重建。

答案 1 :(得分:0)

解决方案是将node_modules文件夹添加到.gitignore。为此,请在.gitignore文件node_modules/中添加此行。

另一种解决方案是简单地删除node_modules文件夹。