Visitar URL original
ENOTDIR when using yarn 3 · Issue #15119 · prettier/prettier · GitHub
Skip to content

ENOTDIR when using yarn 3 #15119

Closed
Closed

Description

@commscheck

Environments:

  • Prettier Version: 3.0.0
  • Running Prettier via: yarn prettier
  • Runtime: Node.js v18.16.1
  • Operating System: macOS
  • Prettier plugins (if any): none

Steps to reproduce:

# Enable yarn 3:
# https://yarnpkg.com/getting-started/install
corepack enable
corepack prepare yarn@stable --activate

# Create a new project:
yarn init -2

# Install prettier:
yarn add --dev --exact prettier

# Ignore generated files:
cat > .prettierignore << EOL
.yarn/*
.pnp.cjs
yarn.lock
EOL

# Run prettier:
yarn prettier .

Expected behavior:

Prettier commands succeed.

Actual behavior:

All prettier commands fail with the following output:

❯ yarn prettier .
node:fs:1615
  handleErrorFromBinding(ctx);
  ^

Error: ENOTDIR: not a directory, stat '/Users/ben/src/prettier-test/.yarn/cache/prettier-npm-3.0.0-7ffbcce680-6a832876a1.zip/node_modules/prettier/internal/cli.mjs'
    at statSync (node:fs:1615:3)
    at tryStatSync (node:internal/modules/esm/resolve:176:13)
    at finalizeResolution (node:internal/modules/esm/resolve:316:17)
    at moduleResolve (node:internal/modules/esm/resolve:945:10)
    at defaultResolve (node:internal/modules/esm/resolve:1153:11)
    at nextResolve (node:internal/modules/esm/loader:163:28)
    at ESMLoader.resolve (node:internal/modules/esm/loader:838:30)
    at ESMLoader.getModuleJob (node:internal/modules/esm/loader:424:18)
    at ESMLoader.import (node:internal/modules/esm/loader:525:22)
    at importModuleDynamically (node:internal/modules/cjs/loader:1188:29) {
  errno: -20,
  syscall: 'stat',
  code: 'ENOTDIR',
  path: '/Users/ben/src/prettier-test/.yarn/cache/prettier-npm-3.0.0-7ffbcce680-6a832876a1.zip/node_modules/prettier/internal/cli.mjs'
}

Node.js v18.16.1

Activity

  1. commscheck commented on Jul 17, 2023

    @commscheck
    Author

    Confirmed the issue doesn't happen in prettier v2.8.8.

  2. added
    area:cliIssues with Prettier's Command Line Interface
    status:needs investigationIssues that need additional investigation, e.g. to understand whether the reported behavior is a bug
    on Jul 17, 2023
  3. fisker commented on Jul 17, 2023

    @fisker
    Member

    It seems you'll have to unplug Prettier.

  4. so1ve commented on Jul 18, 2023

    @so1ve
    Contributor

    Maybe add preferUnplugged to prettier's package.json will solve this issue?

  5. fisker commented on Jul 18, 2023

    @fisker
    Member

    Any documation link for preferUnplugged? Found https://yarnpkg.com/configuration/manifest#preferUnplugged

  6. so1ve commented on Jul 18, 2023

    @so1ve
    Contributor
  7. fisker commented on Jul 18, 2023

    @fisker
    Member

    Your suggestion make sense.

    Maybe add preferUnplugged to prettier's package.json will solve this issue?

  8. fisker commented on Jul 18, 2023

    @fisker
    Member

    Maybe we can remove this line too

    runNpmClient(["config", "set", "nodeLinker", "node-modules"]);

  9. fisker commented on Jul 29, 2023

    @fisker
    Member

    @commscheck I tried your steps to reproduce, but it didn't work on my machine. Can you test #15169 with this install command?

    yarn add --dev prettier@fisker/prettier#preferUnplugged
  10. vajahath commented on Jul 31, 2023

    @vajahath
      "devDependencies": {
       ...
        "prettier": "fisker/prettier#preferUnplugged",
        "typescript": "^5.1.6",
        ...
      },
    

    image

    @fisker This works for me. (Ubuntu 22)

  11. fisker commented on Jul 31, 2023

    @fisker
    Member

    Thank you!

  12. commscheck commented on Aug 9, 2023

    @commscheck
    Author

    Can you test #15169 with this install command?

    @fisker working for me too, thanks for the fix!

  13. locked as resolved and limited conversation to collaborators on Nov 27, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:cliIssues with Prettier's Command Line Interfacelocked-due-to-inactivityPlease open a new issue and fill out the template instead of commenting.status:needs investigationIssues that need additional investigation, e.g. to understand whether the reported behavior is a bug

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions