【发布时间】:2021-11-02 11:48:10
【问题描述】:
我正在我的新 M1 芯片机器 (Mac) 上为 Nuxt 项目开发环境。 问题是 Nuxt 项目的构建速度太慢了。
我将 nodeenv 安装到我的项目中,并使用 v12.9.0。在项目文件夹中,使用的包maneger(npm / yarn)在/Users/username/.nodenv/shims/node。
我运行yarn install和yarn dev后,编译(客户端加服务器)大约需要2个小时。
如果我在我的 Intel 机器 (Mac) 中运行 yarn dev,构建只需几秒钟。
如果您对隔离问题的步骤有任何想法,请教我。 谢谢,
【我的方法】
- 删除
node_modules并由yarn install重新安装。 - 重启我的机器
- 简单的 nuxt 项目运行方式与 Intel 机器上的一样
【环境】
- M1芯片机
- nodenv(自制)
- nuxt / vue 项目
【模块】 我的 package.json 就是这个,
"dependencies": {
"@nuxt/typescript-runtime": "^0.4.0",
"@nuxtjs/axios": "^5.9.5",
"@nuxtjs/dotenv": "^1.4.1",
"@nuxtjs/google-gtag": "^1.0.4",
"@nuxtjs/gtm": "^2.4.0",
"@nuxtjs/pwa": "^3.0.0-0",
"@nuxtjs/style-resources": "^1.0.0",
"@types/highlight.js": "^9.12.3",
"@types/quill": "^2.0.3",
"autolinker": "^3.13.0",
"blob-util": "^2.0.2",
"camelcase-keys": "^6.2.1",
"cross-env": "^7.0.2",
"crypto-js": "^4.0.0",
"express": "^4.17.1",
"highlight.js": "^9.18.1",
"js-cookie": "^2.2.1",
"npm-check-updates": "^4.0.6",
"nuxt": "^2.12.1",
"nuxt-basic-auth-module": "^1.3.2",
"nuxt-clipboard2": "^0.2.1",
"parchment": "^2.0.0-dev.2",
"pm2": "^4.2.3",
"quill-image-drop-and-paste": "^1.0.4",
"sanitize-html": "^1.22.1",
"snakecase-keys": "^3.1.2",
"vue-infinite-loading": "^2.4.5",
"vue-property-decorator": "^8.4.1",
"vue-sanitize": "^0.2.0",
"vue-scrollto": "^2.18.1",
"vue-stripe-elements-plus": "^0.3.2",
"vue-toc": "0.0.1",
"vue-tweet-embed": "^2.4.0",
"vue2-editor": "^2.10.2",
"vuex-persistedstate": "^3.0.0"
},
"devDependencies": {
"@nuxt/typescript-build": "^0.6.0",
"@nuxtjs/eslint-config": "^5.0.0",
"@nuxtjs/eslint-config-typescript": "^5.0.0",
"@nuxtjs/eslint-module": "^3.0.1",
"@nuxtjs/moment": "^1.6.0",
"@nuxtjs/vuetify": "^1.11.0",
"@types/jest": "^25.1.4",
"@typescript-eslint/eslint-plugin": "^2.25.0",
"@typescript-eslint/parser": "^2.25.0",
"@vue/test-utils": "^1.0.0-beta.29",
"babel-core": "^7.0.0-bridge.0",
"babel-eslint": "^10.1.0",
"babel-jest": "^25.2.1",
"eslint": "^7.14.0",
"eslint-config-prettier": "^6.15.0",
"eslint-plugin-nuxt": "^2.0.0",
"eslint-plugin-prettier": "^3.1.4",
"jest": "^25.2.1",
"node-sass": "^4.13.1",
"nodemon": "^2.0.2",
"prettier": "^2.2.0",
"sass-loader": "^8.0.2",
"ts-jest": "^25.2.1",
"vue-jest": "^3.0.5"
}
【问题讨论】:
-
您正在使用的某些模块(或其依赖项)可能没有预构建的 M1 二进制文件(对于具有本机代码的模块),因此它正在执行编译步骤。对于某些平台,包维护者可以将预构建的二进制文件上传到 NPM,但如果它们不存在,它将退回到源代码构建。如果没有更多细节,很难说哪些模块受到影响,但从安装日志中应该很容易分辨。
-
如果您已将其简化为纯粹的 nuxt-and-nothing-else 代码库(而不是 nuxt-and-lots-of-other-dependencies-too)并且您认为它在Apple 芯片与 Intel 芯片相比,与制造 nuxt 的人交谈,通过在 github.com/nuxt/nuxt.js/issues 上向他们报告这种行为,让他们意识到这个问题
-
@Joe 谢谢。我检查了安装日志,但没有发现任何奇怪的东西。我会检查次要的模块。(我附上了我的 package.json)
-
别告诉我,告诉制作 nuxt 的人,以便您的报告为所有人 帮助改进 nuxt,而不仅仅是为在 * 上找到此问题的人。您发现了一个开源项目的潜在问题:将该问题报告给该开源项目的维护者,以便他们修复它。作为开源软件包的用户,这是您的责任的一部分。
-
所以,
yarn dev非常快。但是yarn generate超级慢?不确定这是否与 Nuxt 本身有关。您是否在nuxt.config.js文件中生成了一些或一些路由?另外,你有它作为公共回购吗?我可以尝试在我这边运行它。
标签: node.js typescript vue.js nuxt.js apple-m1