Vite清单未找到。

22

我正在处理一个使用laravel 9Vite,以及laravel-vite的项目。

在开发环境下一切正常,但在生产环境中的cPanel服务器上,我遇到了这个问题。

Vite manifest not found at: /home/???????/cart_shop/public/build/manifest.json

# With 

Missing Vite Manifest File
Did you forget to run `npm install && npm run dev`?

我尝试解决这个问题,但没有任何作用,我需要从vite.config.js更改public文件夹和sup文件夹的构建文件位置,但我找不到方法去做。

请注意:在cPanel共享服务器中文件序列已经发生了变化。

- home
    - public_html
        - cart_shop
           - Root
           - public
           - etc

- home
    - public_html
       - public files and folders  // I changed the index URLs too.
- cart_shop
    - Root
    - etc

我的 vite.config.js 配置如下:

import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';
import vue from '@vitejs/plugin-vue';

export default defineConfig({
    plugins: [
        laravel({
            input: 'resources/js/app.js',
        }),
        vue({
            template: {
                transformAssetUrls: {
                    base: null,
                    includeAbsolute: false,
                },
            },
        }),
    ],
});

你使用的 Node 版本是多少?node -v - Shahin
节点版本为 v16.13.1,npm 版本为 8.14.0 - sos5020
也许你需要在vite配置中更改构建目录,打开vite.config.js并在input数组下添加buildDirectory: '../../public/build',看看是否有效。 - Shahin
请问我应该在 export default defineConfig 中的哪里放置 buildDirectory: '../public/build',或者是在 plugins: 中?能否将配置序列发送给我? - sos5020
我曾经遇到过同样的问题,我通过运行 npm run build 命令解决了它。 - nekiala
17个回答

25
在我的情况下,我通过做一些事情来解决了这个问题。
首先,我通过运行以下命令确保已安装所需的npm包:
npm install

接着,我已经运行了

npm run build 

构建资产并创建清单文件。

"npm run build" 对我来说解决了这个问题。 - undefined

9

我遇到了相同的问题,只是因为node版本不同。我升级到最新版本后,它就正常工作了。

对于Ubuntu用户,请使用npm中的n模块来升级node:

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

为了升级到最新版本(而不是当前稳定版本),您可以使用以下命令:
sudo n latest

您可能还需要修复路径:

  sudo apt-get install --reinstall nodejs-legacy     # fix /usr/bin/node

撤销操作:
  sudo n rm 6.0.0     # replace number with version of Node that was installed
  sudo npm uninstall -g n

为了看到更新后的node版本,您可能需要重新启动终端。

源自Ask Ubuntu


执行以下命令 sudo npm cache clean -f sudo npm install -g n 然后执行以下命令 sudo n latest 即可解决问题。 - Supun Madhushanka
同样适用于Debian Bullseye(v11.6),其中node软件包的稳定版本仅为12.22。您可能需要删除/移动现有的*/usr/local/bin/node*,并将/usr/local/n/versions/node/18.14.2/bin/node(或任何其他版本)链接到它。完成此操作后,“npm run build”将正常工作。 - William Turrell

9

我输入这个,它对我有用

npm run build

你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心中找到有关如何编写良好答案的更多信息。 - Community
这对我有用,但它在Tailwindcss的说明中没有包含。 - JimB814

4
从Laravel 9的app.blade.php文件的<head>中删除@vite(['resources/sass/app.scss', 'resources/js/app.js'])。现在它可以完美运行。

4
在终端上运行这些命令。
npm install --save-dev vite laravel-vite-plugin

然后您需要更新您的 package.json 文件

"scripts": { "dev": "vite", "build": "vite build" }

最后,您可以触发以下命令来构建 Vite 并创建清单文件。
npm run build

3

我正在学习Laravel,并希望将其上线。花了5个小时寻找答案,哈哈。希望我能帮到你。

  • 如果你在使用CPANEL
  • 并且你只能像我一样上传文件,因为我使用的是免费版
  • 并且有一个类似下面的文件夹结构
  • 并且所有公共文件都被移动到public_html文件夹中
  • 并且"all"/project文件夹中没有public文件夹了

folder structure

解决方案:

  • 复制来自vite的构建文件夹
  • 如下图所示 或者
  • 或者只将manifest.json放在"all"/proj文件夹中的public/build/中
  • 并且在public_html中的相同文件夹结构中不包括manifest.json。

solution duplicate build

  • laravel/framework ^10.10
  • vite ^4.0.0
  • tailwindcss
  • cpanel(只能在文件管理器中上传zip文件)
  • php 8.2
  • googiehost(免费套餐)

谢谢,复制帮了大忙!我正在使用Hostinger,它也是共享主机,但它有ssh,你可以通过连接到服务器本身来克隆代码,使用git。https://hostinger.lt?REFERRALCODE=1MURASHKAAR72 - undefined
为什么你要这样做,当cPanel支持Git呢?在你的cPanel中创建一个Git仓库。将你的本地项目推送到服务器上。创建一个域名/子域名,并将其指向包含公共目录的路径。 - undefined
@Wade 一些免费的CPanel层级 - undefined

2
嗨,抱歉评论晚了:
如果您遇到此问题,可以在终端上运行以下命令:
第一个命令:
-> npm install --save-dev vite laravel-vite-plugin
第二个命令:
-> npm run build
您的问题已解决。

2
这是因为Laravel将/public/build添加到.gitignore文件中。你可以选择执行npm install && npm run build来安装这些文件(如上所建议),或者从.gitignore文件中移除/public/build

1

0
问题已解决,
首先:我尝试将publicDirectory配置添加到vite.config.js中的laravel-vite-plugin设置中,这解决了构建问题,但清单仍未找到。
最后:我将除build之外的所有文件和文件夹从public移动到bublic_html,然后运行npm run build,现在一切正常。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接