2

我正在尝试在我的 Mac 上安装纱线,纱线安装但运行纱线命令挂起并出现以下错误。

>纱线

TypeError: Cannot read property 'yarnPath' of null
    at loadRcFile (/usr/local/lib/node_modules/yarn/lib/cli.js:56945:49)
    at /usr/local/lib/node_modules/yarn/lib/cli.js:56916:14
    at /usr/local/lib/node_modules/yarn/lib/cli.js:101331:14
    at Array.map (<anonymous>)
    at parseRcPaths (/usr/local/lib/node_modules/yarn/lib/cli.js:101329:78)
    at Object.findRc (/usr/local/lib/node_modules/yarn/lib/cli.js:101343:10)
    at getRcConfigForCwd (/usr/local/lib/node_modules/yarn/lib/cli.js:56915:74)
    at /usr/local/lib/node_modules/yarn/lib/cli.js:92694:56
    at Generator.next (<anonymous>)
    at step (/usr/local/lib/node_modules/yarn/lib/cli.js:310:30) 

我试过卸载纱线并重新安装

npm uninstall -g yarn && npm install -g yarn 

这并没有解决这个问题。提前感谢您的帮助...干杯!

4

2 回答 2

1

好的,从文档中可以看出,您可能遗漏了一些东西;以下是在 Linux (UBUNTU) 上安装 Yarn 的分步过程。尝试一下,看看您是否遗漏了什么;

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list

在 Ubuntu 16.04 或更低版本和 Debian Stable 上,您还需要配置 NodeSource 存储库以获得足够新的 Node.js 版本。

然后你可以简单地:

sudo apt update && sudo apt install yarn

注意:Ubuntu 17.04 默认安装了 cmdtest。如果您在安装 yarn 时遇到错误,您可能需要先运行 sudo apt remove cmdtest。

如果使用 nvm,您可以通过执行以下操作避免节点安装:

sudo apt update && sudo apt install --no-install-recommends yarn

注意:由于在某些发行版中使用 nodejs 而不是节点名称,yarn 可能会抱怨未安装节点。解决方法是在 .bashrc 文件中添加别名,如下所示:alias node=nodejs。这会将纱线指向您决定使用的任何版本的节点。

如果在您的 PATH 中找不到 Yarn,请按照以下步骤添加它并允许它从任何地方运行。

注意:您的个人资料可能在您的 .profile、.bash_profile、.bashrc、.zshrc 等中。

将此添加到您的个人资料中:(export PATH="$PATH:/opt/yarn-[version]/bin"路径可能会根据您将 Yarn 提取到的位置而有所不同)

在终端中,登录和注销以使更改生效要全局访问 Yarn 的可执行文件,您需要在终端中设置 PATH 环境变量。为此,将add export PATH="$PATH:全局 bin放入"您的配置文件,或者如果您使用 Fish shell,只需运行命令set -U fish_user_paths (yarn global bin) $fish_user_paths

通过运行测试是否安装了 Yarn:

yarn --version

这应该有望解决问题。如果不让我知道,那么我们看看还有哪些其他解决方案。

于 2020-07-15T09:40:58.383 回答
0

每当我尝试运行yarn命令并通过从位于我运行纱线的文件夹中的 .yarnrc.yml 文件中删除一行来解决它时,我都会收到此错误。

yarnPath: .yarn/releases/yarn-berry.cjs <-- removed this line

一旦我这样做了,那根纱线又起作用了。

于 2020-10-21T02:42:21.230 回答