uni-app 使用 pnpm 管理依赖发现 build 命令失效,无法启动 dev-server
uni-app 使用 pnpm 管理依赖发现 build 命令失效,无法启动 dev-server
| 开发环境 | 版本号 | 项目创建方式 | 
|---|---|---|
| Windows 10 专业版 19043.1266 | 2.0.1-34720220422001 | CLI | 
产品分类:uniapp/H5
浏览器平台:Chrome
浏览器版本:Microsoft Edge 94.0.992.38
示例代码:
// vue.config.js  
module.exports = {  
  chainWebpack: (config) => {  
    // symlinks  
    config.resolve.symlinks = false  
  },  
.......  
}
$ pnpm run info  
> h5-welfare@0.1.0 info E:\WorkSpace\h5-welfare  
> node node_modules/@dcloudio/vue-cli-plugin-uni/commands/info.js  
uni-app v3.4.7  
uni-app cli v2.0.1-34720220422001  
Environment Info:  
  System:  
    OS: Windows 10  
    CPU: (4) x64 Intel(R) Core(TM) i5-7300HQ CPU @ 2.50GHz  
  Binaries:  
    Node: 16.14.2 - D:\Develop\nodejs\node.EXE  
    Yarn: Not Found  
    npm: 8.5.0 - D:\Develop\nodejs\npm.CMD  
  Browsers:  
    Edge: 44.19041.1266.0  
  npmPackages:  
    @dcloudio/types: * => 2.6.4  
    @dcloudio/uni-app-plus: ^2.0.1-34720220422001 => 2.0.1-34720220422001  
    @dcloudio/uni-automator: ^2.0.1-34720220422001 => 2.0.1-34720220422001  
    @dcloudio/uni-cli-i18n: ^2.0.1-34620220419001 => 2.0.1-34620220419001  
    @dcloudio/uni-cli-shared: ^2.0.1-34720220422001 => 2.0.1-34720220422001  
    @dcloudio/uni-h5: ^2.0.1-34720220422001 => 2.0.1-34720220422001  
    @dcloudio/uni-helper-json: * => 1.0.13  
    @dcloudio/uni-migration: ^2.0.1-34720220422001 => 2.0.1-34720220422001  
    @dcloudio/uni-mp-360: ^2.0.1-34720220422001 => 2.0.1-34720220422001  
    @dcloudio/uni-mp-alipay: ^2.0.1-34720220422001 => 2.0.1-34720220422001  
    @dcloudio/uni-mp-baidu: ^2.0.1-34720220422001 => 2.0.1-34720220422001  
    @dcloudio/uni-mp-qq: ^2.0.1-34720220422001 => 2.0.1-34720220422001  
    @dcloudio/uni-mp-toutiao: ^2.0.1-34720220422001 => 2.0.1-34720220422001  
    @dcloudio/uni-mp-vue: ^2.0.1-34720220422001 => 2.0.1-alpha-34620220415002  
    @dcloudio/uni-mp-weixin: ^2.0.1-34720220422001 => 2.0.1-34720220422001  
    @dcloudio/uni-quickapp-native: ^2.0.1-34720220422001 => 2.0.1-alpha-34620220415002  
    @dcloudio/uni-quickapp-webview: ^2.0.1-34720220422001 => 2.0.1-34720220422001  
    @dcloudio/uni-stat: ^2.0.1-34720220422001 => 2.0.1-34720220422001  
    @dcloudio/uni-template-compiler: ^2.0.1-34720220422001 => 2.0.1-34720220422001  
    @dcloudio/vue-cli-plugin-hbuilderx: ^2.0.1-34720220422001 => 2.0.1-34720220422001  
    @dcloudio/vue-cli-plugin-uni: ^2.0.1-34720220422001 => 2.0.1-34720220422001  
    @dcloudio/vue-cli-plugin-uni-optimize: ^2.0.1-34720220422001 => 2.0.1-34720220422001  
    @dcloudio/webpack-uni-mp-loader: ^2.0.1-34720220422001 => 2.0.1-34720220422001  
    @dcloudio/webpack-uni-pages-loader: ^2.0.1-34720220422001 => 2.0.1-34720220422001  
    @hap-toolkit/dsl-vue:  0.6.13  
    @vue/babel-helper-vue-jsx-merge-props:  1.2.1  
    @vue/babel-helper-vue-transform-on:  1.0.2  
    @vue/babel-plugin-jsx:  1.1.1  
    @vue/babel-plugin-transform-vue-jsx:  1.2.1  
    @vue/babel-preset-app:  4.5.17  
    @vue/babel-preset-jsx:  1.2.4  
    @vue/babel-sugar-composition-api-inject-h:  1.2.1  
    @vue/babel-sugar-composition-api-render-instance:  1.2.4  
    @vue/babel-sugar-functional-vue:  1.2.2  
    @vue/babel-sugar-inject-h:  1.2.2  
    @vue/babel-sugar-v-model:  1.2.3  
    @vue/babel-sugar-v-on:  1.2.3  
    @vue/cli-overlay:  4.5.17  
    @vue/cli-plugin-babel: ~4.5.0 => 4.5.17  
    @vue/cli-plugin-router:  4.5.17  
    @vue/cli-plugin-vuex:  4.5.17  
    @vue/cli-service: ~4.5.0 => 4.5.17  
    @vue/cli-shared-utils:  4.5.17  
    @vue/component-compiler-utils:  3.3.0  
    @vue/preload-webpack-plugin:  1.1.2  
    @vue/shared: ^3.0.0-rc.4 => 3.2.33  
    @vue/web-component-wrapper:  1.3.0  
    vue: ^2.6.11 => 2.6.14  
    vue-clipboard2: ^0.3.1 => 0.3.3  
    vue-hot-reload-api:  2.3.4  
    vue-lazyload: ^1.3.3 => 1.3.3  
    vue-loader:  15.9.8 (15.9.8)  
    vue-router: ^3.4.3 => 3.5.3  
    vue-style-loader:  4.1.3  
    vue-template-compiler: ^2.6.11 => 2.6.14  
    vue-template-es2015-compiler:  1.9.1  
    vuex: ^3.2.0 => 3.6.2  
  npmGlobalPackages:  
    @vue/cli: Not Found
操作步骤:
$ pnpm dev
预期结果:
正常启动 dev-server
实际结果:
Hyman[@T470P](/user/T470P) MINGW64 /e/WorkSpace/h5-welfare (master)  
$ pnpm dev  
> h5-welfare@0.1.0 dev E:\WorkSpace\h5-welfare  
> cross-env NODE_ENV=development UNI_PLATFORM=h5 vue-cli-service uni-serve  
请注意运行模式下,因日志输出、sourcemap以及未压缩源码等原因,性能和包体积,均不及发行模式。  
Hyman[@T470P](/user/T470P) MINGW64 /e/WorkSpace/h5-welfare (master)  
$  
Hyman[@T470P](/user/T470P) MINGW64 /e/WorkSpace/h5-welfare (master)  
$
更多关于uni-app 使用 pnpm 管理依赖发现 build 命令失效,无法启动 dev-server的实战教程也可以访问 https://www.itying.com/category-93-b0.html
请问解决了吗?
更多关于uni-app 使用 pnpm 管理依赖发现 build 命令失效,无法启动 dev-server的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在使用 uni-app 开发项目时,如果你使用 pnpm 作为包管理器,可能会遇到 build 命令失效或无法启动 dev-server 的问题。这通常是由于 pnpm 的依赖管理方式与 uni-app 的构建工具不完全兼容所导致的。以下是一些可能的解决方案:
1. 确保 node_modules 正确安装
pnpm 使用符号链接来管理依赖,这可能会导致某些工具找不到依赖。你可以尝试删除 node_modules 目录并重新安装依赖:
rm -rf node_modules
pnpm install
2. 使用 --shamefully-hoist 选项
pnpm 默认不会将依赖提升到根目录,这可能会导致某些工具无法找到依赖。你可以使用 --shamefully-hoist 选项来提升依赖:
pnpm install --shamefully-hoist
3. 检查 uni-app 的依赖版本
确保你使用的 uni-app 版本与 pnpm 兼容。你可以尝试更新 uni-app 和相关依赖:
pnpm update uni-app
4. 使用 npm 或 yarn 作为替代
如果上述方法都无法解决问题,你可以考虑暂时使用 npm 或 yarn 作为包管理器:
# 删除 pnpm 的依赖
rm -rf node_modules
# 使用 npm 安装依赖
npm install
# 或者使用 yarn 安装依赖
yarn install
5. 检查 uni-app 的构建配置
确保你的 uni-app 项目配置正确,特别是 vue.config.js 或 vite.config.js 文件中的配置。你可以参考官方文档或社区中的配置建议进行调整。
6. 查看错误日志
如果 dev-server 无法启动,查看终端输出的错误日志,通常会有具体的错误信息。根据错误信息进行排查和修复。
7. 使用 pnpm 的 node-linker 配置
pnpm 提供了 node-linker 配置选项,可以改变依赖的链接方式。你可以尝试在 .npmrc 文件中添加以下配置:
node-linker=hoisted
然后重新安装依赖:
pnpm install
8. 检查 uni-app 的插件兼容性
有些 uni-app 插件可能与 pnpm 不完全兼容。如果你使用了某些插件,尝试暂时禁用它们,看看问题是否依然存在。
9. 使用 pnpm 的 --resolution-only 选项
如果依赖冲突导致问题,你可以尝试使用 pnpm 的 --resolution-only 选项来解决依赖冲突:
pnpm install --resolution-only 
        
       
                     
                   
                    

