如何发布未找到的NPM Scoped Packages / NPM范围?

时间:2017-05-06 18:31:17

标签: node.js npm npm-publish

我想开始将npm包发布到范围。我是否需要注册为范围为用户名的用户?例如,如果我创建这样的包:

    ole@MKI:~/firstpackage$ npm init

    Use `npm install <pkg> --save` afterwards to install a package and
    save it as a dependency in the package.json file.

    Press ^C at any time to quit.
    name: (firstpackage) @npmtestscope/firstpackage
    version: (1.0.0) 
    description: 
    entry point: (index.js) 
    test command: 
    git repository: 
    keywords: 
    author: 
    license: (ISC) 
    About to write to /home/ole/deletethis/package.json:

    {
      "name": "@npmtestscope/firstpackage",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "author": "",
      "license": "ISC"
    }


    Is this ok? (yes) 

    ole@MKI:~/firstpackage$ touch README.md
    ole@MKI:~/firstpackage$ npm publish

结果如下:

npm ERR! 404 Scope not found : @npmtestscope/firstpackage

那么我需要做什么才能让npm找到范围?

1 个答案:

答案 0 :(得分:5)

如果要使用名称@npmtestscope/firstpackage在npm上发布软件包,则需要确保npm上存在命名空间@npmtestscope。要创建该名称空间,您需要create an organization on npm的名称为npmtestscope

创建组织后,可以通过执行@npmtestscope/firstpackage发布名为npm publish --access public的软件包。

注意:要为属于npm组织的软件包运行npm publish,您需要以该组织的成员身份登录计算机。您可以通过执行npm login来做到这一点。 npm whoami命令将向您显示与当前登录名关联的用户名。