Thanks to visit codestin.com
Credit goes to github.com

Skip to content

[BUG] "could not create leading directories" when installing globally from GitHub URL #642

@richRemer

Description

@richRemer

What / Why

npm: v5.8.0, v6.13.4

When I attempt to install a package from GitHub globally, I am getting a permission error: "could not create leading directories".

$ sudo -H npm install -g git+https://github.com/richRemer/pool.git
npm ERR! code 128
npm ERR! Command failed: /usr/bin/git clone -q https://github.com/richRemer/pool.git /root/.npm/_cacache/tmp/git-clone-e33b6b4f
npm ERR! fatal: could not create leading directories of '/root/.npm/_cacache/tmp/git-clone-e33b6b4f': Permission denied
npm ERR! 

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2019-12-29T20_06_58_093Z-debug.log

The relevant log bits:

12 silly fetchPackageMetaData error for git+https://github.com/richRemer/pool.git Command failed: /usr/bin/git clone -q https://github.com/richRemer/pool.git /root/.npm/_cacache/tmp/git-clone-e33b6b4f
12 silly fetchPackageMetaData fatal: could not create leading directories of '/root/.npm/_cacache/tmp/git-clone-e33b6b4f': Permission denied
13 verbose stack Error: Command failed: /usr/bin/git clone -q https://github.com/richRemer/pool.git /root/.npm/_cacache/tmp/git-clone-e33b6b4f
13 verbose stack fatal: could not create leading directories of '/root/.npm/_cacache/tmp/git-clone-e33b6b4f': Permission denied
13 verbose stack
13 verbose stack     at ChildProcess.exithandler (child_process.js:294:12)
13 verbose stack     at ChildProcess.emit (events.js:189:13)
13 verbose stack     at maybeClose (internal/child_process.js:970:16)
13 verbose stack     at Socket.stream.socket.on (internal/child_process.js:389:11)
13 verbose stack     at Socket.emit (events.js:189:13)
13 verbose stack     at Pipe._handle.close (net.js:600:12)
14 verbose cwd /home/rremer
15 verbose Linux 5.3.0-24-generic
16 verbose argv "/usr/bin/node" "/usr/bin/npm" "install" "-g" "git+https://github.com/richRemer/pool.git"
17 verbose node v10.15.2
18 verbose npm  v5.8.0
19 error code 128
20 error Command failed: /usr/bin/git clone -q https://github.com/richRemer/pool.git /root/.npm/_cacache/tmp/git-clone-e33b6b4f
20 error fatal: could not create leading directories of '/root/.npm/_cacache/tmp/git-clone-e33b6b4f': Permission denied
21 verbose exit [ 1, true ]

When

  • happens when using "... install -g git+https://..."
  • happens with all repos, public or private, but ultimately I'm trying to solve this for private repos
  • happens whether I use "sudo -H" or if switch to root user and run directly

Where

  • n/a

How

Current Behavior

  • fails to install global packages from GitHub

Steps to Reproduce

  • run the following command
sudo -H npm install -g git+https://github.com/richRemer/pool.git

Expected Behavior

  • it should work the same as running:
git clone https://github.com/richRemer/pool.git
sudo -H npm install -g $(npm pack pool/)

Who

  • n/a

References

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions