Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

cli 项目不支持 pnpm、Monorepo #2987

Open
TinsFox opened this issue Nov 12, 2021 · 37 comments
Open

cli 项目不支持 pnpm、Monorepo #2987

TinsFox opened this issue Nov 12, 2021 · 37 comments
Assignees
Labels
doubleCheck 二次确认 2 double 提供了复现方案 提供了复现方案 reproduce

Comments

@TinsFox
Copy link

TinsFox commented Nov 12, 2021

问题描述

cli创建的项目使用 pnpm 安装依赖无法启动
image

cli 创建的项目不能使用Monorepo lerna管理。依赖无法读取,报错 缺少 xxx 平台插件
复现步骤
[复现问题的步骤]
pnpm: 使用cli创建项目,使用pnpm安装依赖,启动项目
Monorepo: lerna init,在packages下创建cli项目,安装依赖后启动项目

@zhangchenna
Copy link

uniapp 所有包都是 lerna 管理的

@zhetengbiji
Copy link
Collaborator

uniapp 所有包都是 lerna 管理的

有什么因果关系吗?

@zhetengbiji
Copy link
Collaborator

CLI 创建的 alpha 版已经支持 pnpm。

如运行报错,先检查上报一下环境信息。

npm run info

@TinsFox
Copy link
Author

TinsFox commented Nov 12, 2021

CLI 创建的 alpha 版已经支持 pnpm。

如运行报错,先检查上报一下环境信息。

npm run info
  1. CLI 创建的 alpha 版 里面的依赖都是 ^2.0.0 , pnpm i的时候会报下图的信息,并且安装失败,修改
    "@dcloudio/uni-mp-360": "^2.0.1-alpha-32920211110001", 后可以安装成功
    启动报下面信息
> Executing task: pnpm run serve <


> my-alpha-project@0.1.0 serve /Users/xxx/my-alpha-project
> npm run dev:h5


> my-alpha-project@0.1.0 dev:h5
> cross-env NODE_ENV=development UNI_PLATFORM=h5 vue-cli-service uni-serve

/Users/xxxx/my-alpha-project/node_modules/.pnpm/@dcloudio+vue-cli-plugin-uni@2.0.0/node_modules/@dcloudio/vue-cli-plugin-uni/lib/error-reporting.js:45
    err = err.replace(this._UNI_INPUT_DIR_REG, 'UNI_INPUT_DIR')
              ^

TypeError: err.replace is not a function
    at ErrorReport.report (/Users/xxx/my-alpha-project/node_modules/.pnpm/@dcloudio+vue-cli-plugin-uni@2.0.0/node_modules/@dcloudio/vue-cli-plugin-uni/lib/error-reporting.js:45:15)
    at report (/Users/xxx/my-alpha-project/node_modules/.pnpm/@dcloudio+vue-cli-plugin-uni@2.0.0/node_modules/@dcloudio/vue-cli-plugin-uni/lib/error-reporting.js:144:24)
    at process.<anonymous> (/Users/xxxx/my-alpha-project/node_modules/.pnpm/@dcloudio+vue-cli-plugin-uni@2.0.0/node_modules/@dcloudio/vue-cli-plugin-uni/lib/error-reporting.js:154:42)
    at process.emit (events.js:314:20)
    at process._fatalException (internal/process/execution.js:165:25)
 ELIFECYCLE  Command failed with exit code 7.
终端进程“zsh '-c', 'pnpm run serve'”已终止,退出代码: 1。

image
2. @dcloudio/uni-mp-360 的依赖使用yarn安装的时候每次都要手动选择依赖(这个点是另外一个issue了)
3. npm run info 返回以下信息

╰─ npm run info

> my-alpha-project@0.1.0 info
> node node_modules/@dcloudio/vue-cli-plugin-uni/commands/info.js

uni-app v3.1.8
uni-app cli v2.0.0

Environment Info:

  System:
    OS: macOS High Sierra 10.13.4
    CPU: (8) x64 Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
  Binaries:
    Node: 12.22.0 - ~/.nvm/versions/node/v12.22.0/bin/node
    Yarn: 1.22.5 - ~/.yarn/bin/yarn
    npm: 8.1.3 - ~/.nvm/versions/node/v12.22.0/bin/npm
  Browsers:
    Chrome: 95.0.4638.69
    Firefox: Not Found
    Safari: 11.1
  npmPackages:
    @dcloudio/types: * => 2.5.13 
    @dcloudio/uni-app-plus: ^2.0.0 => 2.0.0 
    @dcloudio/uni-automator: ^2.0.0 => 2.0.0 
    @dcloudio/uni-cli-shared: ^2.0.0 => 2.0.0 
    @dcloudio/uni-h5: ^2.0.0 => 2.0.0 
    @dcloudio/uni-helper-json: * => 1.0.13 
    @dcloudio/uni-i18n: ^2.0.0 => 2.0.0 
    @dcloudio/uni-migration: ^2.0.0 => 2.0.0 
    @dcloudio/uni-mp-360: ^2.0.1-alpha-32920211110001 => 2.0.1-alpha-32920211110001 
    @dcloudio/uni-mp-alipay: ^2.0.0 => 2.0.0 
    @dcloudio/uni-mp-baidu: ^2.0.0 => 2.0.0 
    @dcloudio/uni-mp-kuaishou: ^2.0.0 => 2.0.0 
    @dcloudio/uni-mp-qq: ^2.0.0 => 2.0.0 
    @dcloudio/uni-mp-toutiao: ^2.0.0 => 2.0.0 
    @dcloudio/uni-mp-vue: ^2.0.0 => 2.0.0 
    @dcloudio/uni-mp-weixin: ^2.0.0 => 2.0.0 
    @dcloudio/uni-quickapp-native: ^2.0.0 => 2.0.0 
    @dcloudio/uni-quickapp-webview: ^2.0.0 => 2.0.0 
    @dcloudio/uni-stat: ^2.0.0 => 2.0.0 
    @dcloudio/uni-template-compiler: ^2.0.0 => 2.0.0 
    @dcloudio/vue-cli-plugin-hbuilderx: ^2.0.0 => 2.0.0 
    @dcloudio/vue-cli-plugin-uni: ^2.0.0 => 2.0.0 
    @dcloudio/vue-cli-plugin-uni-optimize: ^2.0.0 => 2.0.0 
    @dcloudio/webpack-uni-mp-loader: ^2.0.0 => 2.0.0 
    @dcloudio/webpack-uni-pages-loader: ^2.0.0 => 2.0.0 
    @vue/cli-plugin-babel: ~4.5.0 => 4.5.15 
    @vue/cli-plugin-typescript: * => 4.5.15 
    @vue/cli-service: ~4.5.0 => 4.5.15 
    @vue/shared: ^3.0.0 => 3.2.21 
    vue: ^2.6.11 => 2.6.14 
    vue-class-component: ^6.3.2 => 6.3.2 
    vue-property-decorator: ^8.0.0 => 8.5.1 
    vue-template-compiler: ^2.6.11 => 2.6.14 
    vuex: ^3.2.0 => 3.6.2 
  npmGlobalPackages:
    @vue/cli: Not Found

@zhetengbiji
Copy link
Collaborator

2.0.0 是一个错误的版本(已废弃),目前在部分用户那仍然可以安装到,正在排查和处理。

处理方式:将所有 uni 相关版本批量替换为 "2.0.0-alpha-32920211110001" 后重新安装依赖

@TinsFox
Copy link
Author

TinsFox commented Nov 12, 2021

2.0.0 是一个错误的版本(已废弃),目前在部分用户那仍然可以安装到,正在排查和处理。

处理方式:将所有 uni 相关版本批量替换为 "2.0.0-alpha-32920211110001" 后重新安装依赖

  1. 修改了之后有 WARN 
    image

  2. Error: Cannot find module '@dcloudio/uni-cli-i18n',解决:pnpm add @dcloudio/uni-cli-i18n
    走完上面两部可以正常运行了

  3. 2.0.0 的问题是cli的模板里面出了问题吧,dcloudio/uni-preset-vue仓库下没有看到相关的版本号指定,不知道是不是什么魔法还是我没找到

  4. 方便提供一下你测试用的 package.jsondevDependencies dependencies部分吗?

  5. alpha最新的包应该是 2.0.1-alpha-32920211110001 吧,而不是 2.0.0-alpha-32920211110001

@zhetengbiji
Copy link
Collaborator

zhetengbiji commented Nov 12, 2021

preset 仓库依赖版本为 "^2.0.0-alpha-32920211110001",但是实际部分用户仍然安装为 2.0.0,具体原因还未找到,所以准备调整依赖版本为:2.0.1-alpha-32920211110001,2.0.1-alpha-32920211110001 版本实际和 2.0.0-alpha-32920211110001 是同样内容,使用 2.0.0-alpha-32920211110001 即可,2.0.1-alpha-32920211110001 实际还未在模板采用。版本调整正准备进行,后续将放弃之前的历史包袱(承诺使用 update 命令升级),增加版本管理工具,采用语义化的版本号。

@zhetengbiji
Copy link
Collaborator

我这刚创建了一个是这样

{
  "name": "cli-test-1112",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "serve": "npm run dev:h5",
    "build": "npm run build:h5",
    "build:app-plus": "cross-env NODE_ENV=production UNI_PLATFORM=app-plus vue-cli-service uni-build",
    "build:custom": "cross-env NODE_ENV=production uniapp-cli custom",
    "build:h5": "cross-env NODE_ENV=production UNI_PLATFORM=h5 vue-cli-service uni-build",
    "build:mp-360": "cross-env NODE_ENV=production UNI_PLATFORM=mp-360 vue-cli-service uni-build",
    "build:mp-alipay": "cross-env NODE_ENV=production UNI_PLATFORM=mp-alipay vue-cli-service uni-build",
    "build:mp-baidu": "cross-env NODE_ENV=production UNI_PLATFORM=mp-baidu vue-cli-service uni-build",
    "build:mp-kuaishou": "cross-env NODE_ENV=production UNI_PLATFORM=mp-kuaishou vue-cli-service uni-build",
    "build:mp-lark": "cross-env NODE_ENV=production UNI_PLATFORM=mp-lark vue-cli-service uni-build",
    "build:mp-qq": "cross-env NODE_ENV=production UNI_PLATFORM=mp-qq vue-cli-service uni-build",
    "build:mp-toutiao": "cross-env NODE_ENV=production UNI_PLATFORM=mp-toutiao vue-cli-service uni-build",
    "build:mp-weixin": "cross-env NODE_ENV=production UNI_PLATFORM=mp-weixin vue-cli-service uni-build",
    "build:quickapp-native": "cross-env NODE_ENV=production UNI_PLATFORM=quickapp-native vue-cli-service uni-build",
    "build:quickapp-webview": "cross-env NODE_ENV=production UNI_PLATFORM=quickapp-webview vue-cli-service uni-build",
    "build:quickapp-webview-huawei": "cross-env NODE_ENV=production UNI_PLATFORM=quickapp-webview-huawei vue-cli-service uni-build",
    "build:quickapp-webview-union": "cross-env NODE_ENV=production UNI_PLATFORM=quickapp-webview-union vue-cli-service uni-build",
    "dev:app-plus": "cross-env NODE_ENV=development UNI_PLATFORM=app-plus vue-cli-service uni-build --watch",
    "dev:custom": "cross-env NODE_ENV=development uniapp-cli custom",
    "dev:h5": "cross-env NODE_ENV=development UNI_PLATFORM=h5 vue-cli-service uni-serve",
    "dev:mp-360": "cross-env NODE_ENV=development UNI_PLATFORM=mp-360 vue-cli-service uni-build --watch",
    "dev:mp-alipay": "cross-env NODE_ENV=development UNI_PLATFORM=mp-alipay vue-cli-service uni-build --watch",
    "dev:mp-baidu": "cross-env NODE_ENV=development UNI_PLATFORM=mp-baidu vue-cli-service uni-build --watch",
    "dev:mp-kuaishou": "cross-env NODE_ENV=development UNI_PLATFORM=mp-kuaishou vue-cli-service uni-build --watch",
    "dev:mp-lark": "cross-env NODE_ENV=development UNI_PLATFORM=mp-lark vue-cli-service uni-build --watch",
    "dev:mp-qq": "cross-env NODE_ENV=development UNI_PLATFORM=mp-qq vue-cli-service uni-build --watch",
    "dev:mp-toutiao": "cross-env NODE_ENV=development UNI_PLATFORM=mp-toutiao vue-cli-service uni-build --watch",
    "dev:mp-weixin": "cross-env NODE_ENV=development UNI_PLATFORM=mp-weixin vue-cli-service uni-build --watch",
    "dev:quickapp-native": "cross-env NODE_ENV=development UNI_PLATFORM=quickapp-native vue-cli-service uni-build --watch",
    "dev:quickapp-webview": "cross-env NODE_ENV=development UNI_PLATFORM=quickapp-webview vue-cli-service uni-build --watch",
    "dev:quickapp-webview-huawei": "cross-env NODE_ENV=development UNI_PLATFORM=quickapp-webview-huawei vue-cli-service uni-build --watch",
    "dev:quickapp-webview-union": "cross-env NODE_ENV=development UNI_PLATFORM=quickapp-webview-union vue-cli-service uni-build --watch",
    "info": "node node_modules/@dcloudio/vue-cli-plugin-uni/commands/info.js",
    "serve:quickapp-native": "node node_modules/@dcloudio/uni-quickapp-native/bin/serve.js",
    "test:android": "cross-env UNI_PLATFORM=app-plus UNI_OS_NAME=android jest -i",
    "test:h5": "cross-env UNI_PLATFORM=h5 jest -i",
    "test:ios": "cross-env UNI_PLATFORM=app-plus UNI_OS_NAME=ios jest -i",
    "test:mp-baidu": "cross-env UNI_PLATFORM=mp-baidu jest -i",
    "test:mp-weixin": "cross-env UNI_PLATFORM=mp-weixin jest -i"
  },
  "dependencies": {
    "@dcloudio/uni-app-plus": "^2.0.0-alpha-32920211110001",
    "@dcloudio/uni-h5": "^2.0.0-alpha-32920211110001",
    "@dcloudio/uni-helper-json": "*",
    "@dcloudio/uni-i18n": "^2.0.0-alpha-32920211110001",
    "@dcloudio/uni-mp-360": "^2.0.0-alpha-32920211110001",
    "@dcloudio/uni-mp-alipay": "^2.0.0-alpha-32920211110001",
    "@dcloudio/uni-mp-baidu": "^2.0.0-alpha-32920211110001",
    "@dcloudio/uni-mp-kuaishou": "^2.0.0-alpha-32920211110001",
    "@dcloudio/uni-mp-lark": "^2.0.0-alpha-32920211110001",
    "@dcloudio/uni-mp-qq": "^2.0.0-alpha-32920211110001",
    "@dcloudio/uni-mp-toutiao": "^2.0.0-alpha-32920211110001",
    "@dcloudio/uni-mp-vue": "^2.0.0-alpha-32920211110001",
    "@dcloudio/uni-mp-weixin": "^2.0.0-alpha-32920211110001",
    "@dcloudio/uni-quickapp-native": "^2.0.0-alpha-32920211110001",
    "@dcloudio/uni-quickapp-webview": "^2.0.0-alpha-32920211110001",
    "@dcloudio/uni-stat": "^2.0.0-alpha-32920211110001",
    "@vue/shared": "^3.0.0",
    "core-js": "^3.6.5",
    "flyio": "^0.6.2",
    "regenerator-runtime": "^0.12.1",
    "vue": "^2.6.11",
    "vuex": "^3.2.0"
  },
  "devDependencies": {
    "@babel/runtime": "~7.12.0",
    "@dcloudio/types": "*",
    "@dcloudio/uni-automator": "^2.0.0-alpha-32920211110001",
    "@dcloudio/uni-cli-i18n": "^2.0.0-alpha-32920211110001",
    "@dcloudio/uni-cli-shared": "^2.0.0-alpha-32920211110001",
    "@dcloudio/uni-migration": "^2.0.0-alpha-32920211110001",
    "@dcloudio/uni-template-compiler": "^2.0.0-alpha-32920211110001",
    "@dcloudio/vue-cli-plugin-hbuilderx": "^2.0.0-alpha-32920211110001",
    "@dcloudio/vue-cli-plugin-uni": "^2.0.0-alpha-32920211110001",
    "@dcloudio/vue-cli-plugin-uni-optimize": "^2.0.0-alpha-32920211110001",
    "@dcloudio/webpack-uni-mp-loader": "^2.0.0-alpha-32920211110001",
    "@dcloudio/webpack-uni-pages-loader": "^2.0.0-alpha-32920211110001",
    "@vue/cli-plugin-babel": "^4.5.0",
    "@vue/cli-service": "^4.5.0",
    "babel-plugin-import": "^1.11.0",
    "cross-env": "^7.0.2",
    "jest": "^25.4.0",
    "mini-types": "*",
    "miniprogram-api-typings": "*",
    "postcss-comment": "^2.0.0",
    "vue-template-compiler": "^2.6.11"
  },
  "browserslist": [
    "Android >= 4.4",
    "ios >= 9"
  ],
  "uni-app": {
    "scripts": {}
  }
}

@TinsFox
Copy link
Author

TinsFox commented Nov 12, 2021

在pnpm的工作空间packages下作为一个子包比如 package1

pnpm serve 运行之后包如下提示

4:3 No overload matches this call.
  The last overload gave the following error.
    Argument of type '{ mpType: string; onLaunch(): void; onShow(): void; onHide(): void; }' is not assignable to parameter of type 'ComponentOptions<Vue, DefaultData<Vue>, DefaultMethods<Vue>, DefaultComputed, PropsDefinition<Record<string, any>>, Record<...>>'.
      Object literal may only specify known properties, and 'mpType' does not exist in type 'ComponentOptions<Vue, DefaultData<Vue>, DefaultMethods<Vue>, DefaultComputed, PropsDefinition<Record<string, any>>, Record<...>>'.
    2 | import Vue from 'vue';
    3 | export default Vue.extend({
  > 4 |   mpType: 'app',
      |   ^
    5 |   onLaunch() {
    6 |     console.log('App Launch');
    7 |   },

@dcloudio dcloudio deleted a comment Nov 12, 2021
@zhetengbiji
Copy link
Collaborator

你这里不使用 pnpm(使用 yarn 或者 npm 安装依赖)是否能正常运行?

@TinsFox
Copy link
Author

TinsFox commented Nov 12, 2021

你这里不使用 pnpm(使用 yarn 或者 npm 安装依赖)是否能正常运行?
我是想用Monorepo 结构去管理,不用 pnpm安装依赖,yarn/npm 能安装上吗?

@zhetengbiji
Copy link
Collaborator

你这里不使用 pnpm(使用 yarn 或者 npm 安装依赖)是否能正常运行?
我是想用Monorepo 结构去管理,不用 pnpm安装依赖,yarn/npm 能安装上吗?

单独项目能否正常运行?

@TinsFox
Copy link
Author

TinsFox commented Nov 13, 2021

你这里不使用 pnpm(使用 yarn 或者 npm 安装依赖)是否能正常运行?
我是想用Monorepo 结构去管理,不用 pnpm安装依赖,yarn/npm 能安装上吗?

单独项目能否正常运行?

可以

@zhetengbiji
Copy link
Collaborator

你那再试下独立项目使用pnpm安装依赖是否能正常运行

@TinsFox
Copy link
Author

TinsFox commented Nov 17, 2021

vue create -p dcloudio/uni-preset-vue#alpha my-alpha-project 更新依赖后使用pnpm ,my-alpha-project 项目可以正常运行,但是我想用Monorepo 去管理,uniapp 项目
结构如下

packages/
      my-alpha-project
      my-alpha-project2
      other
pnpm-workspace.yaml
packages:
  - 'packages/**'

这个结构就会报 错误

@zhetengbiji
Copy link
Collaborator

vue create -p dcloudio/uni-preset-vue#alpha my-alpha-project 更新依赖后使用pnpm ,my-alpha-project 项目可以正常运行,但是我想用Monorepo 去管理,uniapp 项目 结构如下

packages/
      my-alpha-project
      my-alpha-project2
      other
pnpm-workspace.yaml
packages:
  - 'packages/**'

这个结构就会报 错误

好的,后续会处理一下兼容问题

另外,想了解一下这些仓库是什么关系,对应那种业务场景,能否透露一下?毕竟一般情况下每个 uni-app 项目都是单独的应用。

@TinsFox
Copy link
Author

TinsFox commented Nov 17, 2021

vue create -p dcloudio/uni-preset-vue#alpha my-alpha-project 更新依赖后使用pnpm ,my-alpha-project 项目可以正常运行,但是我想用Monorepo 去管理,uniapp 项目 结构如下

packages/
      my-alpha-project
      my-alpha-project2
      other
pnpm-workspace.yaml
packages:
  - 'packages/**'

这个结构就会报 错误

好的,后续会处理一下兼容问题

另外,想了解一下这些仓库是什么关系,对应那种业务场景,能否透露一下?毕竟一般情况下每个 uni-app 项目都是单独的应用。

比较简单一点的就是有个内部的组件库,但是又不想建立私有npm,这种场景可能比较少

@JesseChain
Copy link

@zhetengbiji 希望大佬看下这个问题 #3004

@guyskk
Copy link

guyskk commented Jan 8, 2022

这个也许有用:https://ask.dcloud.net.cn/question/91096

// vue.config.js里面加上这个试试

module.exports = {  
  configureWebpack: {  
    resolve: {  
      symlinks: false  
    }  
  }  
}

@yutianmidori
Copy link

vue create -p dcloudio/uni-preset-vue#alpha my-alpha-project 更新依赖后使用pnpm ,my-alpha-project 项目可以正常运行,但是我想用Monorepo 去管理,uniapp 项目 结构如下

packages/
      my-alpha-project
      my-alpha-project2
      other
pnpm-workspace.yaml
packages:
  - 'packages/**'

这个结构就会报 错误

好的,后续会处理一下兼容问题
另外,想了解一下这些仓库是什么关系,对应那种业务场景,能否透露一下?毕竟一般情况下每个 uni-app 项目都是单独的应用。

比较简单一点的就是有个内部的组件库,但是又不想建立私有npm,这种场景可能比较少

我们现在也有用 monorepo 管理 uni-app 项目的需求,请问你们最后是怎么处理的呀?

@TinsFox
Copy link
Author

TinsFox commented Jan 24, 2022

vue create -p dcloudio/uni-preset-vue#alpha my-alpha-project 更新依赖后使用pnpm ,my-alpha-project 项目可以正常运行,但是我想用Monorepo 去管理,uniapp 项目 结构如下

packages/
      my-alpha-project
      my-alpha-project2
      other
pnpm-workspace.yaml
packages:
  - 'packages/**'

这个结构就会报 错误

好的,后续会处理一下兼容问题
另外,想了解一下这些仓库是什么关系,对应那种业务场景,能否透露一下?毕竟一般情况下每个 uni-app 项目都是单独的应用。

比较简单一点的就是有个内部的组件库,但是又不想建立私有npm,这种场景可能比较少

我们现在也有用 monorepo 管理 uni-app 项目的需求,请问你们最后是怎么处理的呀?

没有处理,直接技术转型

@yutianmidori
Copy link

vue create -p dcloudio/uni-preset-vue#alpha my-alpha-project 更新依赖后使用pnpm ,my-alpha-project 项目可以正常运行,但是我想用Monorepo 去管理,uniapp 项目 结构如下

packages/
      my-alpha-project
      my-alpha-project2
      other
pnpm-workspace.yaml
packages:
  - 'packages/**'

这个结构就会报 错误

好的,后续会处理一下兼容问题
另外,想了解一下这些仓库是什么关系,对应那种业务场景,能否透露一下?毕竟一般情况下每个 uni-app 项目都是单独的应用。

比较简单一点的就是有个内部的组件库,但是又不想建立私有npm,这种场景可能比较少

我们现在也有用 monorepo 管理 uni-app 项目的需求,请问你们最后是怎么处理的呀?

没有处理,直接技术转型

可不可以加好友交流一下~ 请问你的邮箱是?

@TinsFox
Copy link
Author

TinsFox commented Jan 26, 2022

@ceadalv 你在issue下说就好啦 或者是开个discussion

@yiqianglin
Copy link

monorepo还没支持吗?

@ChaneyZhao
Copy link

cli的项目目前还不支持monorepo吗?小程序打包npm link的包路径各种异常。

@yeshaobin
Copy link

我们这里也有相同问题,请问mono repo的仓库为什么用cli的时候会报错?
报错的情况和这 issue 是一样的

@yeshaobin
Copy link

vue create -p dcloudio/uni-preset-vue#alpha my-alpha-project 更新依赖后使用pnpm ,my-alpha-project 项目可以正常运行,但是我想用Monorepo 去管理,uniapp 项目 结构如下

packages/
      my-alpha-project
      my-alpha-project2
      other
pnpm-workspace.yaml
packages:
  - 'packages/**'

这个结构就会报 错误

好的,后续会处理一下兼容问题

另外,想了解一下这些仓库是什么关系,对应那种业务场景,能否透露一下?毕竟一般情况下每个 uni-app 项目都是单独的应用。

请问这个兼容问题处理了吗

@silk9333
Copy link

silk9333 commented Aug 5, 2022

到目前为止 没有处理

@zhetengbiji
Copy link
Collaborator

到目前为止 没有处理

等待,目前正在处理 webpack5 的兼容

@fakefish
Copy link

fakefish commented Dec 2, 2022

uniapp项目用pnpm的可以跑通,就是报错修起来有点麻烦

@GrapevineLin
Copy link

请问现在支持了嘛

@gh-ray
Copy link

gh-ray commented May 20, 2023

同样想了解目前支持了不

@tt-sevth
Copy link

tt-sevth commented Sep 4, 2023

在项目根目录的.npmrc文件添加shared-workspace-lockfile=false可以支持,不过会导致每个package下都有一份完整的依赖,具体见https://pnpm.io/zh/next/npmrc#shared-workspace-lockfile

@xiaoxiangmoe
Copy link
Contributor

我测了,现在应该支持了

@GrapevineLin
Copy link

我测了,现在应该支持了

需要什么额外设置吗

@xiaoxiangmoe
Copy link
Contributor

应该不需要,你创建一个全新项目测测?

@Otto-J Otto-J self-assigned this Jan 24, 2024
@Otto-J Otto-J added 提供了复现方案 提供了复现方案 reproduce doubleCheck 二次确认 2 double labels Jan 24, 2024
@oeyoews
Copy link

oeyoews commented Sep 29, 2024

用pnpm 安装的 vue-cli-plugin-hbuilderx 是这样的,

image

但是正常适用Npm 安装应该是这样的

image

由于这个包异常就会导致xxx.replace 的问题出现, 应该就是和monorepo 有关了

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
doubleCheck 二次确认 2 double 提供了复现方案 提供了复现方案 reproduce
Projects
None yet
Development

No branches or pull requests