我使用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"
}
}
答案 0 :(得分:1)
我也遇到了同样的问题 解决方案是
在客户端和服务器上删除package-lock.json文件
确保至少在本地使用LTS版本的Node
确保您的本地Node版本与package.json文件的engines属性中显示的版本匹配。
运行git add。 ,git commit -m“修复版本”和git推送heroku主命令以强制重建。
答案 1 :(得分:0)
解决方案是将node_modules
文件夹添加到.gitignore
。为此,请在.gitignore文件node_modules/
中添加此行。
另一种解决方案是简单地删除node_modules
文件夹。