"[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