如何部署解析服务器的提交?
How to deploy a commit of parse server?
如何在 AWS EB 上部署特定的解析服务器提交?
我试过:
将 parse-server-example 的 package.json
更改为:
"dependencies":{
"parse-server": "parse-community/parse-server#commit-hash"
}
运行 npm install
- 部署到 AWS EB
服务器启动失败,出现错误:
Error: Cannot find module '/var/app/current/node_modules/parse-server/lib/index.js'. Please verify that the package.json has a valid "main" entry
at tryPackage (internal/modules/cjs/loader.js:316:19)
at Function.Module._findPath (internal/modules/cjs/loader.js:705:18)
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:969:27)
at Function.Module._load (internal/modules/cjs/loader.js:864:27)
at Module.require (internal/modules/cjs/loader.js:1044:19)
at require (internal/modules/cjs/helpers.js:77:18)
at Object.<anonymous> (/var/app/current/index.js:10:19)
at Module._compile (internal/modules/cjs/loader.js:1158:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)
at Module.load (internal/modules/cjs/loader.js:1002:32) {
code: 'MODULE_NOT_FOUND',
path: '/var/app/current/node_modules/parse-server/package.json',
requestPath: 'parse-server'
当我不将依赖项指向提交时它起作用,但它不适用于提交 - 为什么?
如果您查看 Parse Server GitHub 存储库,您会发现那里没有 lib/
文件夹。 lib/
位于 .gitignore
文件中,您只能在 npm 包中找到它。这就是当您尝试直接从 GitHub 存储库安装时失败的原因。
解决方法是:
- 在您自己的 GitHub 帐户中创建 Parse Server 存储库的分支。
- 克隆你自己的分支。
- 重置为您需要的提交,运行
npm install
。
- 从
.gitignore
中删除 lib/
文件夹,提交,并将其推送到您自己的分支。
- 再次尝试您描述的过程,但从您自己的 GitHub 分支安装。
确保 npm install
不是 运行 在 root
下,而是在非特权用户下。 root
下的 运行 将中断使用 babel 将 src/ 编译为 lib/ 所需的 npm prepare
步骤。
如何在 AWS EB 上部署特定的解析服务器提交?
我试过:
将 parse-server-example 的
package.json
更改为:"dependencies":{ "parse-server": "parse-community/parse-server#commit-hash" }
运行
npm install
- 部署到 AWS EB
服务器启动失败,出现错误:
Error: Cannot find module '/var/app/current/node_modules/parse-server/lib/index.js'. Please verify that the package.json has a valid "main" entry
at tryPackage (internal/modules/cjs/loader.js:316:19)
at Function.Module._findPath (internal/modules/cjs/loader.js:705:18)
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:969:27)
at Function.Module._load (internal/modules/cjs/loader.js:864:27)
at Module.require (internal/modules/cjs/loader.js:1044:19)
at require (internal/modules/cjs/helpers.js:77:18)
at Object.<anonymous> (/var/app/current/index.js:10:19)
at Module._compile (internal/modules/cjs/loader.js:1158:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)
at Module.load (internal/modules/cjs/loader.js:1002:32) {
code: 'MODULE_NOT_FOUND',
path: '/var/app/current/node_modules/parse-server/package.json',
requestPath: 'parse-server'
当我不将依赖项指向提交时它起作用,但它不适用于提交 - 为什么?
如果您查看 Parse Server GitHub 存储库,您会发现那里没有 lib/
文件夹。 lib/
位于 .gitignore
文件中,您只能在 npm 包中找到它。这就是当您尝试直接从 GitHub 存储库安装时失败的原因。
解决方法是:
- 在您自己的 GitHub 帐户中创建 Parse Server 存储库的分支。
- 克隆你自己的分支。
- 重置为您需要的提交,运行
npm install
。 - 从
.gitignore
中删除lib/
文件夹,提交,并将其推送到您自己的分支。 - 再次尝试您描述的过程,但从您自己的 GitHub 分支安装。
确保 npm install
不是 运行 在 root
下,而是在非特权用户下。 root
下的 运行 将中断使用 babel 将 src/ 编译为 lib/ 所需的 npm prepare
步骤。