Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

install absolute path error when on taobao register #2549

Closed
wangzongxu opened this issue May 12, 2020 · 4 comments · Fixed by #2620
Closed

install absolute path error when on taobao register #2549

wangzongxu opened this issue May 12, 2020 · 4 comments · Fixed by #2620
Assignees
Milestone

Comments

@wangzongxu
Copy link

wangzongxu commented May 12, 2020

pnpm version:4.14.2

My default register is https://registry.npm.taobao.org/,Because taobao register in China is faster,A lot of people use it.
The same package.json installation was successful with npm, but failed with pnpm.
An error is only reported if the default register is the same as the register for the absolute path.

package.json

{
  "name": "error",
  "version": "0.1.0",
  "description": "",
  "scripts": {
    "start": "pnpm i"
  },
  "dependencies": {
    "vue": "https://registry.npm.taobao.org/vue/download/vue-2.0.0.tgz"
  }
}

Code to reproduce the issue:

{
  "0 debug pnpm:scope": {
    "selected": 1
  },
  "1 debug pnpm": {
    "isCaseSensitive": false,
    "store": "/Users/admin/.pnpm-store/2"
  },
  "2 debug pnpm:package-manifest": {
    "initial": {
      "name": "error",
      "version": "0.1.0",
      "description": "",
      "scripts": {
        "start": "pnpm i"
      },
      "dependencies": {
        "vue": "https://registry.npm.taobao.org/vue/download/vue-2.0.0.tgz"
      }
    },
    "prefix": "/Users/admin/Desktop/demo/pnpm-demo"
  },
  "3 debug pnpm:stage": {
    "prefix": "/Users/admin/Desktop/demo/pnpm-demo",
    "stage": "resolution_started"
  },
  "4 debug pnpm:_dependency_resolved": {
    "resolution": "registry.npm.taobao.org/vue/download/vue-2.0.0",
    "wanted": {
      "name": "vue",
      "rawSpec": "https://registry.npm.taobao.org/vue/download/vue-2.0.0.tgz"
    }
  },
  "5 debug pnpm:progress": {
    "packageId": "registry.npm.taobao.org/vue/download/vue-2.0.0",
    "requester": "/Users/admin/Desktop/demo/pnpm-demo",
    "status": "resolved"
  },
  "6 debug pnpm:progress": {
    "packageId": "registry.npm.taobao.org/vue/download/vue-2.0.0",
    "requester": "/Users/admin/Desktop/demo/pnpm-demo",
    "status": "found_in_store"
  },
  "7 debug pnpm:stage": {
    "prefix": "/Users/admin/Desktop/demo/pnpm-demo",
    "stage": "resolution_done"
  },
  "8 debug pnpm:package-manifest": {
    "prefix": "/Users/admin/Desktop/demo/pnpm-demo",
    "updated": {
      "name": "error",
      "version": "0.1.0",
      "description": "",
      "scripts": {
        "start": "pnpm i"
      },
      "dependencies": {
        "vue": "https://registry.npm.taobao.org/vue/download/vue-2.0.0.tgz"
      }
    }
  },
  "9 debug pnpm:stats": {
    "prefix": "/Users/admin/Desktop/demo/pnpm-demo",
    "removed": 0
  },
  "10 debug pnpm:stage": {
    "prefix": "/Users/admin/Desktop/demo/pnpm-demo",
    "stage": "importing_started"
  },
  "11 debug pnpm:stats": {
    "added": 1,
    "prefix": "/Users/admin/Desktop/demo/pnpm-demo"
  },
  "12 debug pnpm:importing": {
    "from": "/Users/admin/.pnpm-store/2/registry.npm.taobao.org/vue/download/vue-2.0.0/node_modules/vue",
    "to": "/Users/admin/Desktop/demo/pnpm-demo/node_modules/.pnpm/registry.npm.taobao.org/vue/download/vue-2.0.0/node_modules/vue",
    "method": "clone"
  },
  "13 debug pnpm:importing": {
    "from": "/Users/admin/.pnpm-store/2/registry.npm.taobao.org/vue/download/vue-2.0.0/node_modules/vue",
    "to": "/Users/admin/Desktop/demo/pnpm-demo/node_modules/.pnpm/registry.npm.taobao.org/vue/download/vue-2.0.0/node_modules/vue",
    "method": "hardlink"
  },
  "14 debug pnpm:stage": {
    "prefix": "/Users/admin/Desktop/demo/pnpm-demo",
    "stage": "importing_done"
  },
  "15 debug pnpm:link": {
    "target": "/Users/admin/Desktop/demo/pnpm-demo/node_modules/.pnpm/registry.npm.taobao.org/vue/download/vue-2.0.0/node_modules/vue",
    "link": "/Users/admin/Desktop/demo/pnpm-demo/node_modules/vue"
  },
  "16 debug pnpm:root": {
    "added": {
      "dependencyType": "prod",
      "id": "registry.npm.taobao.org/vue/download/vue-2.0.0",
      "name": "vue",
      "realName": "vue",
      "version": "2.0.0"
    },
    "prefix": "/Users/admin/Desktop/demo/pnpm-demo"
  },
  "17 error pnpm": {
    "message": {},
    "err": {
      "name": "Error",
      "message": "/vue/download/vue-2.0.0 is an invalid relative dependency path",
      "stack": "Error: /vue/download/vue-2.0.0 is an invalid relative dependency path\n    at Object.parse (/usr/local/lib/node_modules/pnpm/lib/node_modules/dependency-path/lib/index.js:112:15)\n    at Object.exports.default [as nameVerFromPkgSnapshot] (/usr/local/lib/node_modules/pnpm/lib/node_modules/@pnpm/lockfile-utils/lib/nameVerFromPkgSnapshot.js:6:28)\n    at getDependencies (/usr/local/lib/node_modules/pnpm/lib/node_modules/@pnpm/hoist/lib/index.js:66:42)\n    at Object.hoistByLockfile [as default] (/usr/local/lib/node_modules/pnpm/lib/node_modules/@pnpm/hoist/lib/index.js:31:18)\n    at Object.linkPackages [as default] (/usr/local/lib/node_modules/pnpm/lib/node_modules/supi/lib/install/link.js:217:50)\n    at async installInContext (/usr/local/lib/node_modules/pnpm/lib/node_modules/supi/lib/install/index.js:522:20)\n    at async _install (/usr/local/lib/node_modules/pnpm/lib/node_modules/supi/lib/install/index.js:310:24)\n    at async Object.withLock [as default] (/usr/local/lib/node_modules/pnpm/lib/node_modules/supi/lib/lock.js:17:24)\n    at async mutateModules (/usr/local/lib/node_modules/pnpm/lib/node_modules/supi/lib/install/index.js:72:22)\n    at async Object.install (/usr/local/lib/node_modules/pnpm/lib/node_modules/supi/lib/install/index.js:41:22)"
    }
  }
}

Expected behavior:

install success

Actual behavior:

error emit

Additional information:

  • node -v prints: v12.16.3
  • Windows, OS X, or Linux?: Mac Catalina
@wangzongxu wangzongxu changed the title install absolute path error when on custom register install absolute path error when on taobao register May 12, 2020
@wangzongxu
Copy link
Author

😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭😭

@fjc0k
Copy link

fjc0k commented Jun 8, 2020

In mainland China, you can try tbify, that helps you painlessly switch to the Taobao mirror:

npm i -g tbify

tpm add vue@2.0.0
# or
tbify pnpm add vue@2.0.0

@zkochan
Copy link
Member

zkochan commented Jun 9, 2020

🚢 5.1.6

@wangzongxu
Copy link
Author

🚢 5.1.6

great💪

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants