我使用yamup的流星部署失败。 npm错误太深奥了,无法调试。我确实尝试删除已部署应用程序的node_modules文件夹,但无济于事。
运行流星yamup设置,然后部署流星yamup。
这是npm日志的相关部分:
verbose lifecycle meteor-dev-bundle@~install: unsafe-perm in lifecycle true
4340 verbose lifecycle meteor-dev-bundle@~install: PATH: /opt/nodejs/lib/node_modules/npm/bin/node-gyp-bin:/opt/AiLanthus/tmp/bundle/programs/server/node_modules/.bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
4341 verbose lifecycle meteor-dev-bundle@~install: CWD: /opt/AiLanthus/tmp/bundle/programs/server
4342 silly lifecycle meteor-dev-bundle@~install: Args: [ '-c', 'node npm-rebuild.js' ]
4343 silly lifecycle meteor-dev-bundle@~install: Returned: code: 1 signal: null
4344 info lifecycle meteor-dev-bundle@~install: Failed to exec install script
4345 verbose stack Error: meteor-dev-bundle@ install: `node npm-rebuild.js`
4345 verbose stack Exit status 1
4345 verbose stack at EventEmitter.<anonymous> (/opt/nodejs/lib/node_modules/npm/node_modules/npm-lifecycle/index.js:280:16)
4345 verbose stack at emitTwo (events.js:126:13)
4345 verbose stack at EventEmitter.emit (events.js:214:7)
4345 verbose stack at ChildProcess.<anonymous> (/opt/nodejs/lib/node_modules/npm/node_modules/npm-lifecycle/lib/spawn.js:55:14)
4345 verbose stack at emitTwo (events.js:126:13)
4345 verbose stack at ChildProcess.emit (events.js:214:7)
4345 verbose stack at maybeClose (internal/child_process.js:925:16)
4345 verbose stack at Process.ChildProcess._handle.onexit (internal/child_process.js:209:5)
4346 verbose pkgid meteor-dev-bundle@
4347 verbose cwd /opt/AiLanthus/tmp/bundle/programs/server
4348 verbose Linux 4.15.0-1056-aws
4349 verbose argv "/opt/nodejs/bin/node" "/usr/bin/npm" "install"
4350 verbose node v8.9.1
4351 verbose npm v5.5.1
4352 error code ELIFECYCLE
4353 error errno 1
4354 error meteor-dev-bundle@ install: `node npm-rebuild.js`
4354 error Exit status 1
4355 error Failed at the meteor-dev-bundle@ install script.
4355 error This is probably not a problem with npm. There is likely additional logging output above.
4356 verbose exit [ 1, true ]
这是我的yamup.json部署文件(服务器名称屏蔽到x.x.x.x):
{
// Server authentication info
"servers": [
{
"host": "x.x.x.x",
"username": "ubuntu",
//"password": "password",
// or pem file (ssh based authentication)
"pem": "/home/ubuntu/environment/mupdeploy1.pem"
}
],
// Install MongoDB on the server. Does not destroy the local MongoDB on future setups
"setupMongo": true,
// WARNING: Node.js is required! Only skip if you already have Node.js installed on server.
"setupNode": true,
// WARNING: nodeVersion defaults to 8.9.1 if omitted. Do not use v, just the version number.
// For Meteor 1.5.*, use 4.8.4
"nodeVersion": "8.9.1",
// Install PhantomJS on the server
"setupPhantom": true,
// Show a progress bar during the upload of the bundle to the server.
// Might cause an error in some rare cases if set to true, for instance in Shippable CI
"enableUploadProgressBar": true,
// Application name (no spaces).
"appName": "AiLanthus",
// Location of app (local directory). This can reference '~' as the users home directory.
// i.e., "app": "~/Meteor/my-app",
// This is the same as the line below.
"app": "/home/ubuntu/environment/ailanthus",
// Configure environment
// ROOT_URL must be set to https://YOURDOMAIN.com when using the spiderable package & force SSL
// your NGINX proxy or Cloudflare. When using just Meteor on SSL without spiderable this is not necessary
"env": {
"PORT": 3001,
"ROOT_URL": "http://x.x.x.x"
},
"deployCheckWaitTime": 15
}