我正在尝试将一个compoundjs(又名railwayjs)部署到Heroku 或Nodejitsu,作为我对NodeJS 的第一个端到端测试。
脚步
- 节点安装:0.8.16
- Heroku 工具安装
- npm 安装复合 -g (v1.1.4-1)
CompoundJS 的 Heroku 指南中描述的示例 heroku 应用程序
compound init heroku-app cd heroku-app sudo npm link compound g crud post title content
packages.json 中的调整:添加引擎如下
"engines": { "node": "0.8.x", "npm": "1.1.x" },
工头开始 -> 应用程序完美运行
- git 添加并提交
- git push heroku 大师
- heroku ps:scale web=1 (仅第一次)
之后,应用程序被部署并可以通过 heroku 的测试主机访问。应用程序索引工作正常,但 尝试创建新博客文章时显示错误页面。
根据其他报告,此问题与依赖项版本有关。根据 git push 输出到 heroku,正在使用以下版本:
Resolving engine versions
Using Node.js version: 0.8.14
Using npm version: 1.1.65
....
(main dependencies)
npm http GET https://registry.npmjs.org/ejs/-/ejs-0.8.3.tgz
npm http GET https://registry.npmjs.org/coffee-script/-/coffee-script-1.4.0.tgz
npm http 200 https://registry.npmjs.org/seedjs
npm http GET https://registry.npmjs.org/seedjs/-/seedjs-0.0.4.tgz
npm http 200 https://registry.npmjs.org/compound
npm http 200 https://registry.npmjs.org/ejs-ext/-/ejs-ext-0.1.4.tgz
npm http 200 https://registry.npmjs.org/express
npm http GET https://registry.npmjs.org/compound/-/compound-1.1.4-1.tgz
npm http GET https://registry.npmjs.org/express/-/express-3.0.5.tgz
npm http 200 https://registry.npmjs.org/jugglingdb
npm http 200 https://registry.npmjs.org/stylus
npm http 200 https://registry.npmjs.org/ejs/-/ejs-0.8.3.tgz
npm http GET https://registry.npmjs.org/jugglingdb/-/jugglingdb-0.2.0-9.tgz
npm http GET https://registry.npmjs.org/stylus/-/stylus-0.31.0.tgz
npm http 200 https://registry.npmjs.org/coffee-script/-/coffee-script-1.4.0.tgz
npm http 200 https://registry.npmjs.org/seedjs/-/seedjs-0.0.4.tgz
npm http 200 https://registry.npmjs.org/stylus/-/stylus-0.31.0.tgz
npm http 200 https://registry.npmjs.org/express/-/express-3.0.5.tgz
npm http 200 https://registry.npmjs.org/compound/-/compound-1.1.4-1.tgz
部署到 nodejitsu 时我面临同样的问题(完全相同)。任何想法 ?我指的是特定的依赖项版本,所以我认为这个问题与服务器中使用的过时依赖项无关。
谢谢。
更新 Nodejitsu 相关信息:
Nodejitsu 登录 jitsu 部署
info: Welcome to Nodejitsu storni
info: jitsu v0.11.4, node v0.8.16
info: It worked if it ends with Nodejitsu ok
info: Executing command deploy
info: Analyzing application dependencies in server.js
warn: Local package version appears to be old
warn: The package.json version will be incremented automatically
warn: About to write F:\repo\mine\last-jitsu-test\package.json
data:
data: {
data: scripts: { test: 'nodeunit test/*/*', start: 'server.js' },
data: name: 'last-jitsu-test',
data: version: '0.0.1-5',
data: dependencies: {
data: coffee-script: '>= 1.1.1',
data: stylus: '0.31.0',
data: seedjs: '0.0.4',
data: compound: '1.1.4-1',
data: ejs-ext: '0.1.4',
data: express: '3.0.5',
data: ejs: '0.8.3',
data: jugglingdb: '>= 0.1.0'
data: },
data: devDependencies: {
data: sinon: '*',
data: semicov: '*',
data: nodeunit: '*'
data: },
data: subdomain: 'storni.last-jitsu-test',
data: main: 'server.js',
data: engines: { npm: '1.1.x', node: '0.8.x' }
data: }
data:
prompt: Is this ok?: (yes)
info: Creating snapshot 0.0.1-5
info Uploading: [=============================] 100%
info: Updating app last-jitsu-test
info: Activating snapshot 0.0.1-5 for last-jitsu-test
info: Starting app last-jitsu-test
info: App last-jitsu-test is now started
info: http://storni.last-jitsu-test.jit.su on Port 80
info: Nodejitsu ok
storni.last-jitsu-test.jit.su/items -> 工作正常 storni.last-jitsu-test.jit.su/items/new -> 显示与 Heroku 部署相同的错误页面。
在这种情况下,我用香草在本地进行了测试
node server.js