将 Sveltekit 站点部署到 Vercel 时出现 npm 401 Auth 问题

问题描述 投票:0回答:2

当尝试将我的 Sveltekit 站点部署到 Vercel 时,我遇到了 npm 身份验证问题。当创建网络应用程序并将其推送到存储库时,最初工作正常。

npm 创建 svelte@latest my-app

添加一些依赖项(DaisyUI 和 Tailwind css)并执行 npm install 后,它开始出现部署错误。

enter image description here

这是项目的package.json

{
    "name": "reactive-tut-site",
    "version": "0.0.1",
    "private": true,
    "scripts": {
        "dev": "vite dev",
        "build": "vite build",
        "preview": "vite preview",
        "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
        "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch"
    },
    "devDependencies": {
        "@sveltejs/adapter-auto": "^2.0.0",
        "@sveltejs/kit": "^1.5.0",
        "autoprefixer": "^10.4.14",
        "postcss": "^8.4.23",
        "svelte": "^3.54.0",
        "svelte-check": "^3.0.1",
        "tailwindcss": "^3.3.2",
        "tslib": "^2.4.1",
        "typescript": "^5.0.0",
        "vite": "^4.3.0"
    },
    "dependencies": {
        "daisyui": "^2.51.6"
    },
    "type": "module"
}

简洁的配置文件:

import adapter from '@sveltejs/adapter-auto';
import { vitePreprocess } from '@sveltejs/kit/vite';

/** @type {import('@sveltejs/kit').Config} */
const config = {
    // Consult https://kit.svelte.dev/docs/integrations#preprocessors
    // for more information about preprocessors
    preprocess: vitePreprocess(),
    vite: {
        optimizeDeps: {
          entries: []
        }
      },
    kit: {
        adapter: adapter()
    }
};

export default config;
npm vercel sveltekit
2个回答
0
投票

删除 package-lock.json 对我有用,之后网站就被部署了。 原因是 package-lock.json 存储包解析注册表,并且我已经在为 JFrog antifactory 配置的工作计算机上安装了相同的注册表。两个解决方案是:

  1. 更新 .npmrc 以指向 npmjs 注册表。
  2. 删除 package-lock.json。 第二种选择似乎更适合我并且对我有用。 package-lock.json 的屏幕截图 enter image description here

0
投票

删除我的本地 package-lock.json 并推送此更改以触发 vercel 部署/构建解决了问题!远程 vercel 构建只需要执行新的 npm 安装来创建新的包锁,并且构建成功:D

© www.soinside.com 2019 - 2024. All rights reserved.