使用Git部署将Ghost 0.4.2部署到Azure站点

我试图将我的真正简单的鬼testing网站升级到最新版本的Ghost 0.4.2。 我已经按照其网站上的升级说明进行操作,并能够在本地运行项目的升级版本。

当我尝试使用GIT Deploy过程将升级版本推送到我的Azure实例时,出现以下错误日志。 任何人都可以解释一下哪里出了问题。 我最好的猜测是他们是错误的新版本的sqlite。

Command: "D:\home\site\deployments\tools\deploy.cmd" Handling node.js deployment. KuduSync.NET from: 'D:\home\site\repository' to: 'D:\home\site\wwwroot' Copying file: 'iisnode.yml' Copying file: 'package.json' Node.js versions available on the platform are: 0.6.17, 0.6.20, 0.8.2, 0.8.19, 0.8.26, 0.10.5, 0.10.18, 0.10.21, 0.10.24, 0.10.26, 0.10.28. Selected node.js version 0.10.28. Use package.json file to choose a different version. Updating iisnode.yml at D:\home\site\wwwroot\iisnode.yml npm http GET https://registry.npmjs.org/sqlite3 npm http 304 https://registry.npmjs.org/sqlite3 npm ERR! error rolling back Error: EPERM, unlink 'D:\home\site\wwwroot\node_modules\sqlite3\lib\binding\Release\node-v11-win32-ia32\node_sqlite3.node' Failed exitCode=50, command="D:\Program Files (x86)\nodejs\0.10.28\node.exe" "D:\Program Files (x86)\npm\1.4.9\node_modules\npm\bin\npm-cli.js" install --production npm ERR! error rolling back sqlite3@2.2.0 { [Error: EPERM, unlink 'D:\home\site\wwwroot\node_modules\sqlite3\lib\binding\Release\node-v11-win32-ia32\node_sqlite3.node'] An error has occurred during web site deployment. npm ERR! error rolling back errno: 50, npm ERR! error rolling back code: 'EPERM', npm ERR! error rolling back path: 'D:\\home\\site\\wwwroot\\node_modules\\sqlite3\\lib\\binding\\Release\\node-v11-win32-ia32\\node_sqlite3.node' } npm ERR! Error: EPERM, unlink 'D:\home\site\wwwroot\node_modules\sqlite3\lib\binding\Release\node-v11-win32-ia32\node_sqlite3.node' npm ERR! { [Error: EPERM, unlink 'D:\home\site\wwwroot\node_modules\sqlite3\lib\binding\Release\node-v11-win32-ia32\node_sqlite3.node'] npm ERR! errno: 50, npm ERR! code: 'EPERM', npm ERR! path: 'D:\\home\\site\\wwwroot\\node_modules\\sqlite3\\lib\\binding\\Release\\node-v11-win32-ia32\\node_sqlite3.node' } npm ERR! npm ERR! Please try running this command again as root/Administrator. npm ERR! System Windows_NT 6.2.9200 npm ERR! command "D:\\Program Files (x86)\\nodejs\\0.10.28\\node.exe" "D:\\Program Files (x86)\\npm\\1.4.9\\node_modules\\npm\\bin\\npm-cli.js" "install" "--production" npm ERR! cwd D:\home\site\wwwroot npm ERR! node -v v0.10.28 npm ERR! npm -v 1.4.9 npm ERR! path D:\home\site\wwwroot\node_modules\sqlite3\lib\binding\Release\node-v11-win32-ia32\node_sqlite3.node npm ERR! code EPERM npm ERR! errno 50 npm ERR! stack Error: EPERM, unlink 'D:\home\site\wwwroot\node_modules\sqlite3\lib\binding\Release\node-v11-win32-ia32\node_sqlite3.node' 

我认为这是相关的问题文件...\node_sqlite3.node被locking。 当面对同样的错误我已经重新启动了Azure网站并重新部署了,它第二次工作。

我知道,不完全是一个根本原因的解决scheme,但是如果你被困住,会让你开始运行。

我有同样的问题。 我发现我的Git仓库中包含了node_modules文件夹,所以这个文件和代码一起部署了。 这是不需要的 – Kudu将在部署时build立依赖关系。

尝试从您的仓库中删除node_modules文件夹,并将一个条目粘贴到.gitignore ,以使其不会被重新添加。 您还需要为您的Ghost.db和其他任何不应该在部署时被replace的内容位做同样的Ghost.db