"[remote denied master]" -> master (pre-receive hook denied)

Posted

技术标签:

【中文标题】"[remote denied master]" -> master (pre-receive hook denied)【英文标题】:"[remote rejected master]" -> master (pre-receive hook declined) 【发布时间】:2016-09-19 11:48:00 【问题描述】:

我使用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" 
  

【问题讨论】:

node_modules checked into source control 您是否忽略了node_modules 文件夹?也许您将node_modules 目录提交到源代码管理中,然后将其推送。如果您这样做了,请先从存储库中删除 node_modules 目录,然后忽略它并再次推送您的应用程序 @AliDehghani,你能告诉我,如何忽略“node_modules”吗? 首先使用git -r --cached -- node_modules 然后提交更改并再次推送 @AliDehghani,当我使用该命令时,我收到以下错误:“未知选项 -r”。 @AliDehghani 谢谢!我删除了 node_modules 并且它起作用了!谢谢! 【参考方案1】:

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

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

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

    确保您的本地节点版本与 package.json 文件的引擎属性中显示的内容相匹配。

    运行 git add 。 , git commit -m "fixing versions" 和 git push heroku master 命令强制重建。

【讨论】:

【参考方案2】:

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

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

【讨论】:

我不知道为什么(因为在官方文档中说不要这样做但是..)但这是我的问题的解决方案

以上是关于"[remote denied master]" -> master (pre-receive hook denied)的主要内容,如果未能解决你的问题,请参考以下文章

git中出现remote: HTTP Basic: Access denied

git@github.com: Permission denied (publickey).////remote: Permission to xxx/test.git denied to xxx.等

git报错 - remote: HTTP Basic: Access denied

在 Rails 上反应 - ! [remote denied] master -> master (pre-receive hook denied)

remote: HTTP Basic: Access denied fatal: Authentication failed

remote: HTTP Basic: Access denied fatal: Authentication failed