【问题标题】:Yarn fails with TypeError: Cannot read property 'yarnPath' of null纱线因 TypeError 失败:无法读取属性 'yarnPath' of null
【发布时间】:2020-11-01 04:37:21
【问题描述】:

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

>纱线

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) 

我已经尝试卸载 yarn 并重新安装

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

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

【问题讨论】:

  • 你试过用alternative method安装yarn吗?
  • 尝试了brew install yarncurl -o- -L https://yarnpkg.com/install.sh | bash,但在附加Yarn was installed, but doesn't seem to be working :(. 时遇到了同样的错误。
  • 我相信您缺少一些步骤。我发布了一个答案,让我们看看它有多大帮助。

标签: javascript macos yarnpkg canvas-lms


【解决方案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:yarn global bin" 添加到您的配置文件中,或者如果您使用 Fish shell,只需运行命令set -U fish_user_paths (yarn global bin) $fish_user_paths

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

yarn --version

这应该可以解决问题。如果不告诉我,我们看看还有什么其他解决方案。

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

    • 对我来说,我有一个旧的纱线 1.22.4 我必须使用它,它将文件放在具有 .js 扩展名的相同路径中,而不是 .cjs
    猜你喜欢
    • 1970-01-01
    • 2017-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-02
    • 2020-01-29
    • 1970-01-01
    • 2019-03-06
    相关资源
    最近更新 更多