标签: npm

如何修复任何端口上的“listen EACCES:权限被拒绝”

有没有人用 node 经历过这样的事情:

我正在运行Angular,我的 Windows 崩溃并重新启动,现在当我尝试时,ng serve我得到:

Error: listen EACCES: permission denied 127.0.0.1:4200
    at Server.setupListenHandle [as _listen2] (net.js:1253:19)
    at listenInCluster (net.js:1318:12)
    at GetAddrInfoReqWrap.doListen [as callback] (net.js:1451:7)
    at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:61:10)
Run Code Online (Sandbox Code Playgroud)

我也试过 ng serve --port 4201

结果一样。

注意:在Windows重新启动之前,我在WSL. 之后,我尝试WSLPowershell

更新:它甚至发生在一个新项目中。

node.js windows-subsystem-for-linux npm

25
推荐指数
3
解决办法
6万
查看次数

获取全局节点包的“命令未找到”

我已经通过执行全局安装了 fkill npm i -g fkill。当我这样做时我可以看到它已安装npm list。当我运行时,它仅显示全局安装的 fkill npm list -g --depth=0。但是,当我运行时,fkill我收到“找不到命令”。

接下来我运行“npm get prefix”并得到“/home/alex/.node_modules”。这是我的路径:

/home/alex/.node_modules/bin:/home/alex/.npm-global/bin:/home/alex/.node_modules/bin:/home/alex/.node_modules/lib/node_modules:/home/alex/.local/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/opt/cuda/bin:/var/lib/flatpak/exports/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/var/lib/snapd/snap/bin
Run Code Online (Sandbox Code Playgroud)

这一切都是在我尝试使用 pacman 运行系统更新并遇到节点冲突之后开始的,因此我卸载了节点并运行了更新,然后重新安装了节点。

有任何想法吗?

这是在 Manjaro 上。

linux manjaro npm

7
推荐指数
2
解决办法
1万
查看次数

避免 npm 和 jFrog artifactory 中的 `npm login` (`npm adduser') 电子邮件提示

当我这样做npm login(别名npm adduser)时,我总是收到提示输入我的电子邮件地址。

Username: ...
Password: ...
Email: (this IS public) ...
Run Code Online (Sandbox Code Playgroud)

这是令人讨厌的。我已经完成npm config -g set email ...并确认它坚持。我已经确认我的 git 配置user.email准确无误,以防 npm 尝试从那里拉。

有什么办法可以抑制那个提示吗?我正在登录 jFrog,但我认为他们只是在模仿 npm 注册表行为。

login prompt npm jfrog

5
推荐指数
0
解决办法
776
查看次数

Visual Studio 代码:如何从命令向新终端启动命令

我想npm run在 Visual Studio 代码中运行两个并发命令,每个命令都在 vscode 中的一个单独的终端选项卡中。我尝试这样做:

start 'command a' && start 'command b'
Run Code Online (Sandbox Code Playgroud)

但这只是在两个不同的 cmd 窗口中打开它们我希望它们在 vscode 中的新终端选项卡中打开 有没有办法做到这一点?

如果重要,我正在使用 Windows 10 并从 npm 脚本运行它

cmd.exe visual-studio-code npm

5
推荐指数
1
解决办法
417
查看次数

无法在 Ubuntu 上将 npm 更新到最新版本

首先,我安装 npm

sudo apt-get install -y npm
Run Code Online (Sandbox Code Playgroud)

其中安装了 npm 版本 3.5.2。然后我尝试将其更新到最新版本,但失败了。无法为此找到合适的解决方案。

sudo npm install npm@latest -g
? ?????????????????????????????????????????????????????????????????????????????
WARN engine npm@7.5.2: wanted: {"node":">=10"} (current: {"node":"8.10.0","npm":"3.5.2"})
WARN engine npm@7.5.2: wanted: {"node":">=10"} (current: {"node":"8.10.0","npm":/usr/local/lib
??? (empty)

npm ERR! Linux 4.15.0-135-generic
npm ERR! argv "/usr/bin/node" "/usr/bin/npm" "install" "npm@latest" "-g"
npm ERR! node v8.10.0
npm ERR! npm  v3.5.2
npm ERR! path /usr/local/lib/node_modules/.staging/@npmcli/ci-detect-c7bf9552
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall rename

npm ERR! enoent ENOENT: no such file or directory, rename …
Run Code Online (Sandbox Code Playgroud)

terminal updates apt npm

5
推荐指数
2
解决办法
4055
查看次数

如何在 npm 脚本中传递节点参数,例如“--trace-deprecation”

我有点羞愧,我自己找不到一个好的解决方案,但可惜。

使用 npm,我们通常有一个带有段package.json的文件scripts,用于存储我们希望工具链定期执行的任务,例如:

"scripts": {
    "build": "webpack --env production",
    "start": "webpack-dev-server"
}
Run Code Online (Sandbox Code Playgroud)

现在我们可能已经更新了工具链的一部分 - 在这个示例中是 webpack - 突然我们收到一条如下消息:

(node:10868) [DEP_WEBPACK_DEPRECATION_ARRAY_TO_SET] DeprecationWarning: Compilation.modules was changed from Array to Set (using Array method 'reduce' is deprecated)
(Use `node --trace-deprecation ...` to show where the warning was created)
Run Code Online (Sandbox Code Playgroud)

按原样,它对于诊断和解决问题完全没有用。某些构建脚本中的某些地方是错误的。... 耶!

至少在 webpack 及其插件的情况下,我们可以获得在 CLI 上调用的非常有用的跟踪输出:

node --trace-deprecation node_modules/webpack/bin/webpack.js --env production
Run Code Online (Sandbox Code Playgroud)

相当麻烦的一行,不是吗?我们确实想避免这种情况的原因有很多。排名不分先后:

  • 特别是弃用是彩色编码消息海洋中的一条无色线 - 很容易被错过
  • 在注意到弃用后,我们必须再次构建该项目
  • 在脚本中,我们只需使用所需构建工具的名称,这里我们必须提供完整的相对路径
  • 我们必须将所需的参数从package.jsonCLI 复制到(例如,不同的环境激活不同的插件 - 这不是一般用例,因此很容易被忽视,即使程序员已经有了处理弃用的想法)
    • 由于添加了内容,.js我们也不能复制整个脚本主体
  • 纯粹的、纯粹的懒惰

所以...

  • 有没有办法激活 …

script node.js npm

5
推荐指数
1
解决办法
5248
查看次数

如何在 DNF 包管理器中搜索包的所有可用版本?

我想知道的是如何搜索特定包的所有可用版本。

了解我的情况可能有助于准确了解我想做什么。

我使用 Node.js、npm、TypeScript、JavaScript、Express JS、React TSX/JSX、Mocha/JEST 和许多其他东西为客户开发软件。

上面提到的所有软件都是通过“Npm”获得的,其中大部分运行在 Node.js 运行时环境中。

许多客户都坚持使用特定版本的 Node.js、TypeScript、Npm 和/或 Npm 包。这使得我必须安装最新版本的 Node.js、LTS 版本的 Node.js 以及所有尚未达到 EoL 的版本。

我习惯启动Ubuntu,显然我会使用Apt包管理器来搜索和下载包。不过,“Ubuntu”apt某些软件包方面存在一些问题,特别是在尝试更改版本时。不幸的是,Node.js 是一款很难使用“Ubuntu”和apt. 这个难题让我开始习惯手动安装 Node、Npm,并手动将全局 npm bin 目录添加到我的路径和/或软链接它们。

一年多前,我出于与 Node.js 无关的其他原因切换到 Fedora Workstation 35(目前我刚刚升级到 37 预发布版本)。由于 Ubuntu 的问题,我习惯了手动安装 Npm 和 Node.js,并且在启动到 Fedora 时继续这种做法。我决定看看是否可以使用 DNF 安装不同版本的节点,但我遇到的问题是,当我使用 DNF 搜索时,它只返回包的名称,通知我它可供下载,但它不提及它是什么版本,以及是否有其他版本可用。

有谁知道如何搜索dnf所有可用的 Node.js 包和 Npm 包?

fedora node.js dnf npm

5
推荐指数
1
解决办法
2万
查看次数