NPM之后安装纱

Dis*_*ple 0 node.js npm yarnpkg

我需要一些有关Yarn安装过程的帮助和说明。

MacOS版本 10.14.2

  1. 我已经Homebrew通过官方网站(ver. 2.0.1)安装了。
  2. 我是NPM通过从官方网站(ver. 10.15.1 LTS)下载软件包安装的。
  3. 现在,当我试图安装yarn通过brew install yarn

我有以下错误:

The post-install step did not complete successfully
You can try again using `brew postinstall node`
Run Code Online (Sandbox Code Playgroud)

正如我所了解的那样,例如,当我尝试使用时,NPM会在本地安装节点create-react-app。当我使用Homebrew进行安装时yarn,它将尝试进行node全局安装。我们这里有冲突。

我发现建议使用:

sudo chown -R `whoami`:admin /usr/local/ 
Run Code Online (Sandbox Code Playgroud)

我不确定此命令的作用。

因此,问题是:

  1. 为什么更改文件夹的所有者应该是解决方案?它将如何影响多用户系统?
  2. 正确安装纱线的方法是什么?
  3. 如果在全局和本地(应用程序文件夹)中安装了节点,可能会有任何冲突。

附言:如果我对这里的理解有误,请纠正我。

Jam*_*ard 7

正如Trott指出的那样,npm不会安装Node。npm是Node附带的软件包管理器。如果安装Node,则会自动安装npm。

为什么更改文件夹的所有者应该是解决方案?它将如何影响多用户系统?

不是。有时建议您更改此文件夹的权限,作为在root拥有的位置中安装npm时的解决方法。当您尝试全局安装软件包时,这可能会导致EACCES错误。

正确安装纱线的方法是什么?

虽然您可以通过Homebrew软件包管理器安装Yarn,但我建议您这样做:npm install -g yarn。

如果在全局和本地(应用程序文件夹)安装了节点,可能会有任何冲突。

您无法在全局和本地安装Node。但是,您可以在同一台计算机上安装多个版本的Node。


我不喜欢安装一个全局Node,因为它会使更新变得很麻烦(特别是如果一个应用程序依赖于旧版本的Node),并且取决于您如何安装Node,它会导致权限问题错误。

更好的方法是使用版本管理器。这将允许您在计算机上安装多个Node版本,避免权限错误并随意在这些Node版本之间进行交换。

我建议使用nvm。它在MacOS上运行良好。用于安装nvm的TL; DR为:

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.34.0/install.sh | bash
Run Code Online (Sandbox Code Playgroud)

但我鼓励您在GitHub上查看该项目并阅读其README。还有关于如何使用它的一个很好的教程在这里。

使用nvm安装Node后,请运行npm install -g yarn以全局安装Yarn,您应该开始比赛了。

最后,您可能想阅读有关使用npm的教程,因为它可以帮助您清除一些概念。

高温超导

  • 感谢可靠的​​回答,一开始令人困惑 (2认同)