Ubuntu 上的 node_modules(或 npm)PPA 有什么问题

Ubuntu 上的 node_modules(或 npm)PPA 有什么问题

我去年开始使用 Ubuntu,从今天起,我遇到了非常烦人的问题。首先是 Reactjs 的脚本错误,我甚至无法启动一个项目,无论如何我以不同的方式解决了这个问题。现在我遇到了问题

  1. 使用 Typescript 项目启动 Reactjs 类似上述错误
  2. 启动 Vuejs 项目。

我在 Google 上搜索了相关问题,但没有任何帮助。我不知道如何永久解决这类问题(我对 Ubuntu 没有更多经验),但我猜可能是 node_modules 或 npm 文件夹中的错误路径问题。我检查了所有权限,使用 sudo 安装了软件包,我不认为这是权限问题。在 Windows10 中它位于 C 盘,我可以理解 node_modules 安装在哪里,但在 Ubuntu 上我还不明白它的逻辑,有几个文件夹,我认为它们的结构不太好(至少对我来说不清楚)。顺便说一句,我的文件夹结构看起来真的很混乱,需要清理。如果您想从系统或其他任何地方获取更多信息,我可以提供您想要的一切。我很乐意为您提供任何帮助!

我的笔记本电脑:HP Pavilion g6,Ubuntu 20.04

React Typescript 项目正在尝试启动

/usr/lib/node_modules/react-scripts/scripts/start.js:19
  throw err;
  ^

Error: Failed to load plugin '@typescript-eslint' declared in 'package.json » eslint-config-react-app#overrides[0]': Cannot find module 'typescript'
Require stack:
- /usr/lib/node_modules/react-scripts/node_modules/tsutils/typeguard/2.8/node.js
- /usr/lib/node_modules/react-scripts/node_modules/tsutils/typeguard/2.9/node.js
- /usr/lib/node_modules/react-scripts/node_modules/tsutils/typeguard/3.0/node.js
- /usr/lib/node_modules/react-scripts/node_modules/tsutils/typeguard/3.2/node.js
- /usr/lib/node_modules/react-scripts/node_modules/tsutils/typeguard/node.js
- /usr/lib/node_modules/react-scripts/node_modules/tsutils/typeguard/index.js
- /usr/lib/node_modules/react-scripts/node_modules/tsutils/index.js
- /usr/lib/node_modules/react-scripts/node_modules/@typescript-eslint/eslint-plugin/dist/util/isTypeReadonly.js
- /usr/lib/node_modules/react-scripts/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.js
- /usr/lib/node_modules/react-scripts/node_modules/@typescript-eslint/eslint-plugin/dist/rules/adjacent-overload-signatures.js
- /usr/lib/node_modules/react-scripts/node_modules/@typescript-eslint/eslint-plugin/dist/rules/index.js
- /usr/lib/node_modules/react-scripts/node_modules/@typescript-eslint/eslint-plugin/dist/index.js
- /usr/lib/node_modules/react-scripts/node_modules/@eslint/eslintrc/lib/config-array-factory.js
- /usr/lib/node_modules/react-scripts/node_modules/@eslint/eslintrc/lib/index.js
- /usr/lib/node_modules/react-scripts/node_modules/eslint/lib/cli-engine/cli-engine.js
- /usr/lib/node_modules/react-scripts/node_modules/eslint/lib/cli-engine/index.js
- /usr/lib/node_modules/react-scripts/node_modules/eslint/lib/api.js
- /usr/lib/node_modules/react-scripts/node_modules/eslint-webpack-plugin/dist/getESLint.js
- /usr/lib/node_modules/react-scripts/node_modules/eslint-webpack-plugin/dist/linter.js
- /usr/lib/node_modules/react-scripts/node_modules/eslint-webpack-plugin/dist/index.js
- /usr/lib/node_modules/react-scripts/node_modules/eslint-webpack-plugin/dist/cjs.js
- /usr/lib/node_modules/react-scripts/config/webpack.config.js
- /usr/lib/node_modules/react-scripts/scripts/start.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:925:15)
    at Function.Module._load (node:internal/modules/cjs/loader:769:27)
    at Module.require (node:internal/modules/cjs/loader:997:19)
    at require (node:internal/modules/cjs/helpers:92:18)
    at Object.<anonymous> (/usr/lib/node_modules/react-scripts/node_modules/tsutils/typeguard/2.8/node.js:3:12)
    at Module._compile (node:internal/modules/cjs/loader:1108:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1137:10)
    at Module.load (node:internal/modules/cjs/loader:973:32)
    at Function.Module._load (node:internal/modules/cjs/loader:813:14)
    at Module.require (node:internal/modules/cjs/loader:997:19) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/usr/lib/node_modules/react-scripts/node_modules/tsutils/typeguard/2.8/node.js',
    '/usr/lib/node_modules/react-scripts/node_modules/tsutils/typeguard/2.9/node.js',
    '/usr/lib/node_modules/react-scripts/node_modules/tsutils/typeguard/3.0/node.js',
    '/usr/lib/node_modules/react-scripts/node_modules/tsutils/typeguard/3.2/node.js',
    '/usr/lib/node_modules/react-scripts/node_modules/tsutils/typeguard/node.js',
    '/usr/lib/node_modules/react-scripts/node_modules/tsutils/typeguard/index.js',
    '/usr/lib/node_modules/react-scripts/node_modules/tsutils/index.js',
    '/usr/lib/node_modules/react-scripts/node_modules/@typescript-eslint/eslint-plugin/dist/util/isTypeReadonly.js',
    '/usr/lib/node_modules/react-scripts/node_modules/@typescript-eslint/eslint-plugin/dist/util/index.js',
    '/usr/lib/node_modules/react-scripts/node_modules/@typescript-eslint/eslint-plugin/dist/rules/adjacent-overload-signatures.js',
    '/usr/lib/node_modules/react-scripts/node_modules/@typescript-eslint/eslint-plugin/dist/rules/index.js',
    '/usr/lib/node_modules/react-scripts/node_modules/@typescript-eslint/eslint-plugin/dist/index.js',
    '/usr/lib/node_modules/react-scripts/node_modules/@eslint/eslintrc/lib/config-array-factory.js',
    '/usr/lib/node_modules/react-scripts/node_modules/@eslint/eslintrc/lib/index.js',
    '/usr/lib/node_modules/react-scripts/node_modules/eslint/lib/cli-engine/cli-engine.js',
    '/usr/lib/node_modules/react-scripts/node_modules/eslint/lib/cli-engine/index.js',
    '/usr/lib/node_modules/react-scripts/node_modules/eslint/lib/api.js',
    '/usr/lib/node_modules/react-scripts/node_modules/eslint-webpack-plugin/dist/getESLint.js',
    '/usr/lib/node_modules/react-scripts/node_modules/eslint-webpack-plugin/dist/linter.js',
    '/usr/lib/node_modules/react-scripts/node_modules/eslint-webpack-plugin/dist/index.js',
    '/usr/lib/node_modules/react-scripts/node_modules/eslint-webpack-plugin/dist/cjs.js',
    '/usr/lib/node_modules/react-scripts/config/webpack.config.js',
    '/usr/lib/node_modules/react-scripts/scripts/start.js'
  ]
}
npm ERR! code 1
npm ERR! path /home/ramil/D:/Codes/dev-challanges/todo-app
npm ERR! command failed
npm ERR! command sh -c react-scripts start

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/ramil/.npm/_logs/2020-12-29T20_34_08_108Z-debug.log

Vuejs项目启动时出现的问题

> [email protected] serve
> vue-cli-service serve

node:internal/modules/cjs/loader:928
  throw err;
  ^

Error: Cannot find module '@vue/cli-plugin-babel'
Require stack:
- /usr/lib/node_modules/@vue/cli-service/lib/Service.js
- /usr/lib/node_modules/@vue/cli-service/bin/vue-cli-service.js
    at Function.Module._resolveFilename (node:internal/modules/cjs/loader:925:15)
    at Function.Module._load (node:internal/modules/cjs/loader:769:27)
    at Module.require (node:internal/modules/cjs/loader:997:19)
    at require (node:internal/modules/cjs/helpers:92:18)
    at idToPlugin (/usr/lib/node_modules/@vue/cli-service/lib/Service.js:145:14)
    at /usr/lib/node_modules/@vue/cli-service/lib/Service.js:184:20
    at Array.map (<anonymous>)
    at Service.resolvePlugins (/usr/lib/node_modules/@vue/cli-service/lib/Service.js:170:10)
    at new Service (/usr/lib/node_modules/@vue/cli-service/lib/Service.js:32:25)
    at Object.<anonymous> (/usr/lib/node_modules/@vue/cli-service/bin/vue-cli-service.js:15:17) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/usr/lib/node_modules/@vue/cli-service/lib/Service.js',
    '/usr/lib/node_modules/@vue/cli-service/bin/vue-cli-service.js'
  ]
}
npm ERR! code 1
npm ERR! path /home/ramil/D:/Codes/Vue-apps/myapp
npm ERR! command failed
npm ERR! command sh -c vue-cli-service serve

npm ERR! A complete log of this run can be found in:
npm ERR!     /home/ramil/.npm/_logs/2020-12-29T21_04_13_325Z-debug.log

固定的

1.将主文件夹的名称从 (D) 更改为 (D:) - 我不知道它是否受到影响但删除了符号。

2.我补充export PATH=$PATH:/usr/bin.bashrc文件

另外:我删除了之前关于 node_modules 的所有内容,并感谢@Levente 对上述的回复:)

答案1

那是几年前的事了,所以我可能不记得全部了,但我记得 Ubuntu 上的默认节点安装很棘手,因为它被称为nodejs,并且需要设置一些别名以避免出现问题。(我现在不记得这个别名去了哪里......)

更新:我发现从标准 Ubuntu repo 安装的情况(对 deb.nodesource.com PPA 变体无效!):

在继续之前,请确认nodejs您的系统上确实调用了该节点:

which nodejs

如果它返回文件系统路径,那么 — — 也只有这样 — — 这里是一行代码:

sudo ln -s `which nodejs` /usr/bin/node

请注意,这是来自 stackoverflow 的回答最后一次出现的活动是在 2017 年(来源:@randunel);请在那里查看更多背景信息。

尽管如此,我可能不会这么做;请继续阅读:

非易失性存储器

我建议与节点版本管理器。 它

  • 提供了一个不同的、管理良好的节点环境,从而让你摆脱 Ubuntu 繁琐的节点安装
  • 它允许你轻松地在不同版本的 node 和 npm 之间切换,以匹配每个项目的依赖关系
  • 出于上述原因,它是进入专业团队工作的“通行证”(可能需要同时支持绿地和遗留应用程序)

该项目上面链接的 github repo 已经很有帮助了,但是本 npm Ubuntu 安装指南也可能会有用(第三个选项处理NVM)。

相关内容