为了遵循最佳实践,
我已经相应地更改了包名称,但突然在服务器上收到错误
private@Privates-MacBook-Pro Fullstack-project % ls
PROJECT1
private@Privates-MacBook-Pro Fullstack-project % cd PROJECT1
private@Privates-MacBook-Pro PROJECT1 % ls
client common node_modules package.json server yarn.lock
private@Privates-MacBook-Pro PROJECT1 % cd common
private@Privates-MacBook-Pro common % ls
index.js node_modules package.json yarn.lock
private@Privates-MacBook-Pro common % cd ..
private@Privates-MacBook-Pro PROJECT1 % cd server
private@Privates-MacBook-Pro server % ls
controllers index.js package.json routers yarn.lock
private@Privates-MacBook-Pro server % yarn dev
yarn run v1.22.22
$ nodemon index.j
[nodemon] 3.1.0
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,mjs,cjs,json
[nodemon] starting `node index.j index.js`
node:internal/modules/cjs/loader:1146
throw err;
^
Error: Cannot find module '@mystartup/common'
Require stack:
- /Users/private/my-app/Fullstack-project/PROJECT1/server/controllers/validateForm.js
- /Users/private/my-app/Fullstack-project/PROJECT1/server/routers/authRouter.js
- /Users/private/my-app/Fullstack-project/PROJECT1/server/index.js
at Module._resolveFilename (node:internal/modules/cjs/loader:1143:15)
at Module._load (node:internal/modules/cjs/loader:984:27)
at Module.require (node:internal/modules/cjs/loader:1231:19)
at require (node:internal/modules/helpers:179:18)
at Object.<anonymous> (/Users/private/my-app/Fullstack-project/PROJECT1/server/controllers/validateForm.js:1:24)
at Module._compile (node:internal/modules/cjs/loader:1369:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1427:10)
at Module.load (node:internal/modules/cjs/loader:1206:32)
at Module._load (node:internal/modules/cjs/loader:1022:12)
at Module.require (node:internal/modules/cjs/loader:1231:19) {
code: 'MODULE_NOT_FOUND',
requireStack: [
'/Users/private/my-app/Fullstack-project/PROJECT1/server/controllers/validateForm.js',enter image description here
'/Users/private/my-app/Fullstack-project/PROJECT1/server/routers/authRouter.js',
'/Users/private/my-app/Fullstack-project/PROJECT1/server/index.js'
]
}
Node.js v20.12.2
[nodemon] app crashed - waiting for file changes before starting...
附上我的 jason 的打印屏幕(服务器和公共)+ validateForm.js(在控制器文件夹/服务器内)
我从 1:00 到 3:41 分钟关注了这个视频,并且确实做到了
https://www.youtube.com/watch?v=xT8jzdn2Pq4
之后,我正在运行yarn dev并收到此错误(检查了所有名称数百万时间,一切都像视频中一样 - p.s.视频上还有一个包含所有相关文件的链接:
https://github.com/lesterfernandez/react-live-messenger/tree/05.share.schema
我试图清理缓存,“rm -rf node_modules”并重新安装yarn,但没有任何帮助解决。
yarn cache clean
yarn cache v1.22.22
success Cleared cache.
✨ Done in 0.08s.
private@Privates-MacBook-Pro server % yarn config list
yarn config v1.22.22
info yarn config
{
'version-tag-prefix': 'v',
'version-git-tag': true,
'version-commit-hooks': true,
'version-git-sign': false,
'version-git-message': 'v%s',
'init-version': '1.0.0',
'init-license': 'MIT',
'save-prefix': '^',
'bin-links': true,
'ignore-scripts': false,
'ignore-optional': false,
registry: 'https://registry.yarnpkg.com/',
'strict-ssl': true,
'user-agent': 'yarn/1.22.22 npm/? node/v20.12.2 darwin x64',
lastUpdateCheck: 1713973321143
}
info npm config
{}
✨ Done in 0.03s.
private@Privates-MacBook-Pro server % rm -rf node_modules
private@Privates-MacBook-Pro server % rm package-lock.json
rm: package-lock.json: No such file or directory
private@Privates-MacBook-Pro server % yarn install
yarn install v1.22.22
[1/4] 🔍 Resolving packages...
error Error: https://registry.yarnpkg.com/@mystartup%2fcommon: Not found
at params.callback [as _callback] (/Users/private/.cache/node/corepack/v1/yarn/1.22.22/lib/cli.js:66680:18)
at self.callback (/Users/private/.cache/node/corepack/v1/yarn/1.22.22/lib/cli.js:141410:22)
at Request.emit (node:events:518:28)
at Request.<anonymous> (/Users/private/.cache/node/corepack/v1/yarn/1.22.22/lib/cli.js:142382:10)
at Request.emit (node:events:518:28)
at IncomingMessage.<anonymous> (/Users/private/.cache/node/corepack/v1/yarn/1.22.22/lib/cli.js:142304:12)
at Object.onceWrapper (node:events:632:28)
at IncomingMessage.emit (node:events:530:35)
at endReadableNT (node:internal/streams/readable:1696:12)
at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.
我需要您的帮助来解决该错误。这是我第一次重命名软件包名称“@..”
我解决了!!!作者忘记提及一些步骤。 当我尝试在位于 FullStack 文件夹的服务器目录中安装依赖项时,出现了问题,该文件夹包含以下结构:
FullStack (root folder)
---Project (folder)
--package.json (copy my code below)
--common (folder)
--server (folder)
--client (folder)
---package.json (root file copy this file
到您的文件夹https://github.com/lesterfernandez/react-live-messenger/blob/05.share.schema/package.json)
问题在于 Yarn 试图从注册表中获取名为 @mystartup/common 的包,但它并未发布。这个包实际上是一个本地包,我需要在项目中的不同目录中使用它。
经过 Meta AI 的一些研究和帮助,我发现我需要更新我的根 package.json 文件(位于作者发布的 FullStack 文件夹中,但在教程中未提及)https://github.com/lesterfernandez/react -live-messenger/blob/05.share.schema/package.json )将其转换为私有工作区。我添加了以下几行:
{
"name": "Fullstack-project",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"private": true,
"workspaces": [
"packages/*"
]
}
此更改允许我跨目录使用本地包。但是,我很快意识到我还需要更新 Project 文件夹中的 package.json 文件。作者没有发布该文件,但在 Meta AI 的帮助下,我添加了必要的代码:
{
"name": "packages",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"dependencies": {},
"workspaces": {
"packages": ["common", "server", "client"]
}
}
此更新使我能够使用公共目录、服务器目录和客户端目录中的本地包。 进行这些更改后,我在 FullStack 根文件夹和项目文件夹中运行了yarn install。最后,我能够在服务器目录中使用yarn dev启动服务器:
private@Privates-MacBook-Pro server % yarn dev
yarn run v1.22.22
$ nodemon index.j
[nodemon] 3.1.0
[nodemon] to restart at any time, enter rs
[nodemon] watching path(s): .
[nodemon] watching extensions: js,mjs,cjs,json
[nodemon] starting node index.j index.js
服务器监听4000端口 我希望这个故事可以帮助其他可能遇到类似问题的人。请记住,毅力和正确的资源可以帮助您克服最困难的障碍。快乐编码!