3

我正在尝试将一个compoundjs(又名railwayjs)部署到Heroku 或Nodejitsu,作为我对NodeJS 的第一个端到端测试。

脚步

  1. 节点安装:0.8.16
  2. Heroku 工具安装
  3. npm 安装复合 -g (v1.1.4-1)
  4. CompoundJS 的 Heroku 指南中描述的示例 heroku 应用程序

    compound init heroku-app
    cd heroku-app
    sudo npm link
    compound g crud post title content
    
  5. packages.json 中的调整:添加引擎如下

    "engines": {
      "node": "0.8.x",
      "npm": "1.1.x"
    },
    
  6. 工头开始 -> 应用程序完美运行

  7. git 添加并提交
  8. git push heroku 大师
  9. 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
4

0 回答 0