我不知道为什么我会收到这个错误。流星是一种辉煌。每当我运行deploy命令时,它都会到达并终止。可能是为服务器设置了超时以完成上传文件。请帮忙。
C:\Programs\contract\schoolapps\.deploy>mup.cmd deploy --cached-build
┌─────────────────────────────────────┐
│ │
│ update available 1.3.2 => 1.3.3 │
│ To update, run npm i -g mup │
│ │
└─────────────────────────────────────┘
Not building app. Using build from previous deploy at
C:\Users\Kehinde\AppData\Local\Temp\mup-meteor-58e876b4-e682-4ecf-9d41-168fa46a5b19
Started TaskList: Pushing Meteor App
[xxx.xxx.xx.xx] - Pushing Meteor App Bundle to The Server
[=============== ] 41% 630.4sevents.js:160
throw er; // Unhandled 'error' event
^
Error: write ECONNRESET
at exports._errnoException (util.js:1020:11)
at WriteWrap.afterWrite (net.js:800:14)
C:\Programs\contract\schoolapps\.deploy>
上传成功后我收到了这个错误:
[xxx.xxx.xx.xx] x Prepare Bundle: FAILED
-----------------------------------STDERR-----------------------------------
Error response from daemon: No such container: myappsupload
The command '/bin/sh -c cd /built_app/programs/server && npm install --unsafe-perm' returned a non-zero code: 1
Error response from daemon: No such container: myappsupload
Error: failed to start containers: myappsupload
-----------------------------------STDOUT-----------------------------------
mnpm ERR! meteor-dev-bundle@0.0.0 install: `node npm-rebuild.js`
npm ERR! Exit status 254
npm ERR!
npm ERR! Failed at the meteor-dev-bundle@0.0.0 install script 'node npm-rebuild.js'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the meteor-dev-bundle package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node npm-rebuild.js
npm ERR! You can get information on how to open an issue for this project with:
npm ERR! npm bugs meteor-dev-bundle
npm ERR! Or if that isn't available, you can get their info via:
npm ERR! npm owner ls meteor-dev-bundle
npm ERR! There is likely additional logging output above.
npm ERR! Please include the following file with any support request:
npm ERR! /built_app/programs/server/npm-debug.log
----------------------------------------------------------------------------
C:\Programs\contract\myappsupload\.deploy>
这是mup.js文件:
module.exports = {
servers: {
one: {
// TODO: set host address, username, and authentication method
host: 'xxx.xxx.xx.xx',
username: 'root',
// pem: './path/to/pem'
password: 'xxxxxxxxxxxxxxxx'
// or neither for authenticate from ssh-agent
}
},
app: {
// TODO: change app name and path
name: 'schoolapps',
path: '../',
servers: {
one: {},
},
buildOptions: {
serverOnly: true,
},
env: {
// TODO: Change to your app's url
// If you are using ssl, it needs to start with https://
ROOT_URL: 'http://schoolapps.com',
MONGO_URL: 'mongodb://localhost/meteor',
},
// ssl: { // (optional)
// // Enables let's encrypt (optional)
// autogenerate: {
// email: 'email.address@domain.com',
// // comma separated list of domains
// domains: 'website.com,www.website.com'
// }
// },
docker: {
// change to 'kadirahq/meteord' if your app is using Meteor 1.3 or older
image: 'abernix/meteord:base',
args: [
//'--link=myCustomMongoDB:myCustomMongoDB', // linking example
'--memory-reservation 300M' // memory reservation example
],
},
// Show progress bar while uploading bundle to server
// You might need to disable it on CI servers
enableUploadProgressBar: true,
deployCheckWaitTime: 150
},
mongo: {
version: '3.4.1',
servers: {
one: {}
}
}
};
答案 0 :(得分:0)
在提出问题之前,无法替代阅读文档。
您还应该按照它的建议更新mup包。
有一个设置deployCheckWaitTime
可能适用,但看起来它在上传时失败了。我不确定它是否包含上传时间,但值得加以检查。
上传十分钟只需41%,因此您的上传连接速度很慢 - 您是否可以通过手机获得更快的速度?
如果这不起作用,请查看目标服务器上的磁盘是否已满,或者是否有其他超时(如计算机进入睡眠状态)
答案 1 :(得分:0)
我不知道它是否仍然相关,但也许我的答案会帮助其他人处理同样的问题。
Meteor Up版本1.3.0中引入了“Prepare bundle”任务(参见release notes):
将捆绑包上传到每个服务器后,将运行一个名为“Prepare bundle”的新任务。它安装Meteor npm依赖项,重建本机模块,并将结果存储在docker镜像中。这有一些好处:
- meteor.deployCheckWaitTime中的时间不再需要包含安装npm依赖项的时间
- 当安装依赖项失败时,在meteor.deployCheckWaitTime到期之前不会持续重启,并且使用--verbose运行显示来自npm install的完整日志
- 每个部署期间只会安装一次依赖项。这意味着mup start,mup restart和mup reconfig都快得多。
从版本1.3.1开始,可以通过在mup.js中添加选项app.docker.prepareBundle
并将其设置为false
来禁用此任务。几个星期前我处理了同样的错误,通过这种解决方法,我可以将我的应用程序部署到DigitalOcean。