【问题标题】:Error installing Angular using npm due to require-from-string由于 require-from-string 导致使用 npm 安装 Angular 时出错
【发布时间】:2018-06-16 06:51:21
【问题描述】:

由于我无法安装 Angular,如何解决此错误。

请参阅以下异常:

C:\Users\absin\node>npm install -g @angular/cli
npm ERR! code ETARGET
npm ERR! notarget No matching version found for require-from-string@^1.1.0
npm ERR! notarget In most cases you or one of your dependencies are requesting
npm ERR! notarget a package version that doesn't exist.
npm ERR! notarget
npm ERR! notarget It was specified as a dependency of 'cosmiconfig'
npm ERR! notarget

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\absin\AppData\Roaming\npm-cache\_logs\2018-01-06T19_07_00_000Z-debug.log

即使在临时解决方案之后:

npm install https://github.com/floatdrop/require-from-string/tarball/v1.1.0 --save
npm install

仍然得到这个

【问题讨论】:

  • 节点版本 v8.9.4 和 npm 5.6.0
  • 看看我添加的问题链接。他们给人的印象是这很快就会解决。魔法! :)
  • 我在尝试创建一个全新的 React 应用时遇到了同样的问题。看来 npm 包不见了。此外,read-all-stream-3.1.0 也发生了非常相似的事情。好像有什么事情发生了......
  • 我在将 Angular 应用程序部署到 Heroku 时遇到了同样的问题

标签: node.js angular installation angular-cli


【解决方案1】:

如问题链接中所述:

时间解决方案: npm install https://github.com/floatdrop/require-from-string/tarball/v1.1.0 --save npm install

更新:

看来他们正在努力。 require-from-string 页面曾经返回 404,但至少现在它在 NPM 的网站上加载了正确的页面:https://www.npmjs.com/package/require-from-string

似乎还没有通过npm install 工作。

更新 2:

来自 NPM 的官方回复:https://status.npmjs.org/incidents/41zfb8qpvrdj

更新 3:问题似乎已解决。

【讨论】:

  • 临时解决方案正在运行,但在使用 ng new 命令创建新项目时再次出现同样的问题
  • 在尝试使用 -g (npm install -g @angular/cli) 安装新的 cli 时,临时解决方案不起作用,我也尝试过 npm install -g https://github.com/floatdrop/require-from-string/tarball/v1.1.0 似乎成功了。知道如何让它同时工作吗?
【解决方案2】:

即使https://status.npmjs.org/说现在一切都好,

问题依然存在

【讨论】:

    【解决方案3】:

    NPM 注册表的一些问题,一些包被删除了。 他们正在恢复它...它很快就会可用

    临时解决方案使用已运行项目或旧项目中缺少的包。

    【讨论】:

      【解决方案4】:

      我有同样的问题。因此,当我使用 yarn 时,它运行良好,而且创建新项目也没有任何问题。

      yarn global add @angular/cli
      

      再次,当您创建新应用程序 ng new newapp 时,它将失败,因为此时 npm 无法找到名为 require-from-string 的包。但是你可以运行yarn 来安装所有的包。 Yarn 会询问需要哪个版本的require-from-string。你可以选择它。

      【讨论】:

      • 错了,你只能在你之前在这台机器上安装所需的包之前这样做,因为“Yarn 会缓存它下载的每个包,因此它永远不需要再次下载它”。如果您在全新安装上尝试yarn,它也会失败。首先是无法访问 require-from-string 的 1.1.0 版本,最终是 An unexpected error occurred: "https://registry.yarnpkg.com/pinkie-promise/-/pinkie-promise-2.0.1.tgz: Request failed \"404 Not Found\"".。看起来yarn 只是一个(便宜的)npm 代理,因为它反映了那里的当前状态。
      • 您可以ng set --global packageManager=yarn 以便始终使用纱线。
      【解决方案5】:

      npm 有问题。这应该可以工作。

      【讨论】:

        【解决方案6】:

        npm 注册表问题现已根据https://status.npmjs.org/incidents/41zfb8qpvrdj 修复

        解决方案

        rm ./package-lock.json
        git commit -am "Removed broken package-lock.json file."
        git push heroku master

        【讨论】:

          猜你喜欢
          • 2018-06-16
          • 1970-01-01
          • 2018-11-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-10-29
          • 2020-12-19
          相关资源
          最近更新 更多