使用我的 Nuxt 应用程序在 Plesk 服务器上构建时出错
Error during the build on the Plesk server with my Nuxt app
我有一个以 Magento 2 作为 CMS 的 Vue Storefront 2 项目。本地一切 运行 都很好。
当我在构建和部署它之前尝试在我的 Plesk 服务器上 运行 NPM install
时,出现以下错误:
npm ERR! code 1
npm ERR! path /var/www/vhosts/vuestorefront2.dev/node_modules/deasync
npm ERR! command failed
npm ERR! command sh -c node ./build.js
npm ERR! linux-x64-node-16 exists; testing
npm ERR! Problem with the binary; manual build incoming
npm ERR! stdout=
npm ERR! err=Error: Command failed: /opt/plesk/node/16/bin/node quick-test.js
npm ERR! /var/www/vhosts/vuestorefront2.dev/node_modules/bindings/bindings.js:135
我已尝试删除 package-lock.json
中对 deasync
的所有引用。
尽管 NPM install
然后 运行s 并允许我之后构建项目,但它不再在部署的实例上从 Magento 加载任何产品。然而,我在本地确实成功地获取和展示了产品。
当您遇到有关远程构建的问题时,第一步通常是在本地构建(使用 npm run build
之类的东西,然后 运行 在本地 npm run start
)确定这是 Nuxt 问题还是 hosting/platform 问题。
在这里,看起来 OP 可以通过强制特定端点使用生产 URL 来解决他的问题。也许他缺少一些本地服务器。
这解决了问题
publicRuntimeConfig: {
middlewareUrl: process.env.NODE_ENV === "production"
? "https://example.com/api/" // Your production URL
: "http://localhost:3000/api/",
}
我有一个以 Magento 2 作为 CMS 的 Vue Storefront 2 项目。本地一切 运行 都很好。
当我在构建和部署它之前尝试在我的 Plesk 服务器上 运行 NPM install
时,出现以下错误:
npm ERR! code 1
npm ERR! path /var/www/vhosts/vuestorefront2.dev/node_modules/deasync
npm ERR! command failed
npm ERR! command sh -c node ./build.js
npm ERR! linux-x64-node-16 exists; testing
npm ERR! Problem with the binary; manual build incoming
npm ERR! stdout=
npm ERR! err=Error: Command failed: /opt/plesk/node/16/bin/node quick-test.js
npm ERR! /var/www/vhosts/vuestorefront2.dev/node_modules/bindings/bindings.js:135
我已尝试删除 package-lock.json
中对 deasync
的所有引用。
尽管 NPM install
然后 运行s 并允许我之后构建项目,但它不再在部署的实例上从 Magento 加载任何产品。然而,我在本地确实成功地获取和展示了产品。
当您遇到有关远程构建的问题时,第一步通常是在本地构建(使用 npm run build
之类的东西,然后 运行 在本地 npm run start
)确定这是 Nuxt 问题还是 hosting/platform 问题。
在这里,看起来 OP 可以通过强制特定端点使用生产 URL 来解决他的问题。也许他缺少一些本地服务器。
这解决了问题
publicRuntimeConfig: {
middlewareUrl: process.env.NODE_ENV === "production"
? "https://example.com/api/" // Your production URL
: "http://localhost:3000/api/",
}