0

Ghost は初めてで、NodeJS も初めてですが、Ghost のセットアップに抵抗できませんでした。

目標: Azure でソースから新しいゴースト インスタンスを起動して実行する。

Scott Hanselman の PostJeremiah Billmann のPostに従って、これを試みました。

私は次のことをしました:

  • ローカル環境にインストールされたノード、ルビー、grunt-cli
  • ダウンロードフォルダー内のフォルダーにhttps://github.com/TryGhost/ghost.gitの git clone を実行しました
  • すべてのファイル (.git フォルダーを除く) をリポジトリのルートにコピーしました
  • レポのルートでコマンドラインを開きました
  • ランnpm install
  • ランgrunt init
  • ランgrunt prod
  • server.jsを含むルートディレクトリにファイルを作成しましたvar GhostServer = require('./index');
    • (これは Azure に必要であることを理解しています)
  • に名前を変更config.example.jsconfig.js、そのプロパティを編集しました
    • 注:データベース(sqlite3)セクションでは何も触れていません
  • .gitignore を編集して、アセット、config.js、および /core/built を無視しないようにしました
  • Bitbucket にコミット
  • Azure がそれを取り上げてデプロイしました
  • 実行したところ、500 スタイルのエラー メッセージが表示されました
  • iisnode.yml完全なエラーを出力するようにファイルを編集しました

私が見る完全なエラーは次のとおりです。

TypeError: Cannot read property '__cid' of undefined
    at Runner_SQLite3.<anonymous> 

完全なエラーのスクリーンショットは次のとおりです。 ここに画像の説明を入力

これでどこが間違っていたのか分かりますか?エラー メッセージの性質から、それは私ではないと思われますが、私がこれに慣れていないことを考えると、完全に間違っている可能性があります。

4

2 に答える 2

1

標準のLinuxボックスでの新規アップグレードで、非常によく似た問題が発生しました。データベースの存在しないパスで sqlite3 がチョークしているようです。

それを試してください:

  1. ディレクトリが存在することを確認してください/content/data(またはファイルの構成ファイルで設定したパスghost-dev.db)。そうでない場合は、作成します。

    通常、これでうまくいくはずです。そうでない場合は、以下の手順 2 で移行を強制する必要があるかもしれません。

  2. 実行してみてください:

FORCE_MIGRATION=true npm start

于 2014-08-18T14:25:01.180 に答える
0

Ghost (0.5.3) には、config.js にデフォルトで次のパスが含まれています。

database: {
        client: 'sqlite3',
        connection: {
            filename: path.join(__dirname, '/content/data/ghost-dev.db')
        },
        debug: false
    },

次の一連のコマンドを Ghost のルート ディレクトリから実行して、sqlite3 が必要とするファイル パスとファイルを作成します。

cd content
mkdir data
cd data
touch ghost-dev.db
../../
npm start

参考までに: これは、次の行が .gitignore ファイルに含まれている場合に発生する可能性があります

/content/data/*
于 2014-10-27T17:43:01.260 に答える