1

我正在尝试将我真正简单的 Ghost 测试站点升级到最新版本的 Ghost 0.4.2。我已经按照他们网站上的升级说明进行操作,并且能够在本地运行该项目的升级版本。

当我尝试使用 GIT 部署过程将升级版本推送到我的天蓝色实例时,我收到以下错误日志。任何人都可以阐明发生了什么问题。我最好的猜测是新版本的 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'
4

2 回答 2

2

我认为这与有问题的文件...\node_sqlite3.node被锁定有关。当遇到同样的错误时,我重新启动了 Azure 网站并重新部署,它第二次工作了。

我知道,这不完全是根本原因解决方案,但如果您遇到困难,它会让您启动并运行。

于 2014-12-07T02:54:19.113 回答
0

我有同样的问题。我发现我的 Git 存储库包含 node_modules 文件夹,因此它与代码一起部署。这不是必需的 - Kudu 将在部署时构建依赖项。

尝试从您的存储库中删除 node_modules 文件夹,并在您的项目中粘贴一个条目,.gitignore以便它不会被重新添加。您还希望对Ghost.db在部署时不应被替换的内容和任何其他内容执行相同的操作。

于 2014-07-14T10:34:49.580 回答