1. ホーム
  2. node.js

[解決済み] パッケージがnpmに公開されていない(npmレジストリに登録されていない)

2022-03-13 23:03:54

質問

gitリポジトリをnpmに公開し、他のプロジェクトで使用できるようにしたいです。しかし、私が npm publish コマンドを実行すると、次のようなエラーが発生します。

npm ERR! code E404
npm ERR! 404 Not Found - PUT https://npm.pkg.github.com/vue-toggle-component
npm ERR! 404
npm ERR! 404  '[email protected]' is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.

npm ERR! A complete log of this run can be found in:
npm ERR!     C:\Users\niels\AppData\Roaming\npm-cache\_logs\2020-10-29T10_47_26_952Z-debug.log


バグフィックスしようとしたとき、私は npm adduser コマンドと npm login コマンドでログインしていることを確認しました。どちらもすでにログインしているように見えたので、私の問題は解決されませんでした。

私の package.json :

{
  "name": "vue-toggle-component",
  "version": "0.1.0",
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
  },
  "dependencies": {
    "core-js": "^3.6.5",
    "vue": "^2.6.11"
  },
  "devDependencies": {
    "@vue/cli-plugin-babel": "~4.5.0",
    "@vue/cli-plugin-eslint": "~4.5.0",
    "@vue/cli-service": "~4.5.0",
    "babel-eslint": "^10.1.0",
    "eslint": "^6.7.2",
    "eslint-plugin-vue": "^6.2.2",
    "vue-template-compiler": "^2.6.11"
  },
  "eslintConfig": {
    "root": true,
    "env": {
      "node": true
    },
    "extends": [
      "plugin:vue/essential",
      "eslint:recommended"
    ],
    "parserOptions": {
      "parser": "babel-eslint"
    },
    "rules": {}
  },
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not dead"
  ],
  "publishConfig": {
    "registry": "https://npm.pkg.github.com/"
  },
  "description": "## Project setup ``` yarn install ```",
  "main": "babel.config.js",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/nehlis/vue-toggle-component.git"
  },
  "keywords": [
    "Vue.js",
    "Toggle",
    "component",
    "Lightweight",
    "Checkbox"
  ],
  "author": "Niels Bosman",
  "license": "ISC",
  "bugs": {
    "url": "https://github.com/nehlis/vue-toggle-component/issues"
  },
  "homepage": "https://github.com/nehlis/vue-toggle-component#readme"
}


どなたか修正方法をご存じないでしょうか?

解決方法は?

をベースに https://npm.pkg.github.com/ のレジストリではなく GitHub Packages に公開しようとしていることがわかります (両者は現在 GitHub が npm を所有していますが、まだ別物です)。エラーメッセージによると GitHubパッケージのドキュメント :

GitHub Packages は、scoped npm パッケージのみをサポートしています。Scopedパッケージは@owner/nameのような形式の名前を持ちます。Scoped パッケージは常に @ シンボルから始まります。package.json の名前を更新して、scoped の名前を使用する必要があるかもしれません。例えば、 "name": "@codertocat/hello-world-npm" のようになります。

そのため、GitHub のパッケージレジストリではなく npm のレジストリを指すように設定を変更するか、あるいは name フィールドの package.json をスコープされたパッケージ名とする。