GitHub CI/Actions - 找不到模块。确保已安装此软件包

Posted

技术标签:

【中文标题】GitHub CI/Actions - 找不到模块。确保已安装此软件包【英文标题】:GitHub CI/Actions - Cannot find module. Make sure this package is installed 【发布时间】:2022-01-16 00:19:39 【问题描述】:

我想在我的 typescript react 应用程序中使用绝对导入路径。 因此,我将"baseUrl": "./src" 添加到tsconfig.json

我可以使用 yard build 在本地构建应用程序,但它不适用于 Github CI(操作)。

这是我从 CI 得到的错误

./src/components/App/App.tsx
Cannot find module: 'constants/Routes'. Make sure this package is installed.

我使用import ROUTES from 'constants/Routes' 导入组件。改用 ./constants/Routes 不适用于 set baseUrl。

我在使用.src baseUrl 时遇到了同样的错误。

tsconfig.json


  "compilerOptions": 
    "lib": ["dom", "dom.iterable", "esnext"],
    "module": "esnext",
    "target": "es5",
    "allowJs": true,
    "allowSyntheticDefaultImports": true,
    "esModuleInterop": true,
    "forceConsistentCasingInFileNames": true,
    "isolatedModules": true,
    "jsx": "react",
    "moduleResolution": "node",
    "noEmit": true,
    "noFallthroughCasesInSwitch": true,
    "resolveJsonModule": true,
    "skipLibCheck": true,
    "strict": true,
    "baseUrl": "./src"
  ,
  "include": ["src"]


Action.yml

name: Deploy

on:
  push:
    branches: [main, feature/*]
  pull_request:
    branches: [main]

jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout ????️
        uses: actions/checkout@v2.3.1

      - name: Install and Build ????
        run: |
          yarn --frozen-lockfile
          yarn build

      - name: Deploy ????
        uses: JamesIves/github-pages-deploy-action@4.1.5
        with:
          branch: gh-pages
          folder: build

【问题讨论】:

【参考方案1】:

在构建之前,您必须“npm install”安装所有包

run: |
          npm install or yarn 
          yarn --frozen-lockfile
          yarn build

【讨论】:

这就是 yarn —frozen-lockfile 的作用……而且它无法找到我自己的文件,而不是一个包!

以上是关于GitHub CI/Actions - 找不到模块。确保已安装此软件包的主要内容,如果未能解决你的问题,请参考以下文章

python3 找不到我可以用 python2 导入的模块

NodeJS 错误:找不到模块 './lib/oauth'

在iOS中找不到“GoogleMobileAds”模块

库的打字稿声明文件找不到模块

打字稿:具有有效打字的“找不到模块”

如何使用 Node.js 解决“找不到模块”错误?