标签: npm-publish

如何生成NPM发布候选版本

说我想生成预发布的NPM版本.

本来我有这个:

   "version": "0.0.1"
Run Code Online (Sandbox Code Playgroud)

我试过了:

npm version prepatch
npm version prepatch
npm version preminor
npm version preminor
Run Code Online (Sandbox Code Playgroud)

那给了我这个:

v0.0.2-0
v0.0.3-0
v0.1.0-0
v0.2.0-0
Run Code Online (Sandbox Code Playgroud)

那些对我来说看起来并不有用,因为它们总是提高实际的版本号,这意味着似乎npm version patchnpm version prepatch没有太大的区别.

所以我的问题是 - 是否有官方方法在命令行生成带有npm的alpha/beta版本?

npm version minor-alpha
npm version minor-beta
npm version minor-rc
Run Code Online (Sandbox Code Playgroud)

这样的事情?

npm npm-publish npm-version

5
推荐指数
3
解决办法
2038
查看次数

npm 发布 azure 工件

我正在尝试将范围包发布到私有 azure devops 工件源。我按照这里的说明进行操作。我有一个项目 .npmrc ,其中包含以下条目:

@my-scope:registry=https://pkgs.dev.azure.com/my-org/_packaging/my-feed/npm/registry/
@my-scope:always-auth=true
Run Code Online (Sandbox Code Playgroud)

在我的全局用户 .npmrc 中,我有以下条目:

prefix=/usr/local
strict-ssl=false
unsafe-perm=true
//registry.npmjs.org/:_authToken="my-real-token"
//pkgs.dev.azure.com/my-org/_packaging/my-feed/npm/registry/:username=${NPM_USERNAME}
//pkgs.dev.azure.com/my-org/_packaging/my-feed/npm registry/:_password="my-real-base64-token"
//pkgs.dev.azure.com/my-org/_packaging/my-feed/npm/registry/:email=${NPM_EMAIL}
//pkgs.dev.azure.com/my-org/_packaging/my-feed/npm/registry/:always-auth=true
@my-scope:registry=https://pkgs.dev.azure.com/my-org/_packaging/my-feed/npm/registry/
//pkgs.dev.azure.com/my-org/_packaging/my-feed/npm registry/:_authToken="my-real-base64-token"
cafile=${NPM_CERT_LOCATION}
Run Code Online (Sandbox Code Playgroud)

当我尝试: npmpublish 时,出现以下错误:

Unable to authenticate, need: Bearer authorization_uri=https://login.windows.net/some-guid, Basic realm="https://pkgsprodcus1.pkgs.visualstudio.com/", TFS-Federated
Run Code Online (Sandbox Code Playgroud)

根据之前的帖子,我发现我可能需要进行 npm 登录。执行 npm login 给我这个错误:

npm verb node v6.9.2
npm verb npm  v6.8.0
npm ERR! code E400
npm ERR! 400 Bad Request - PUT https://pkgs.dev.azure.com/my-org/_packaging/my-feed/npm/registry/-/user/org.couchdb.user:my-username
Run Code Online (Sandbox Code Playgroud)

我看了看这个这个似乎是相关的。然而,他们都没有工作。我尝试过:curl 和curl -u 这给了我以下错误:

{"$id":"1","innerException":null,"message":"TF400813: Resource not available for anonymous access. …
Run Code Online (Sandbox Code Playgroud)

npm npm-publish azure-devops

5
推荐指数
1
解决办法
6283
查看次数

Lerna publish : 确定已发布的生成版本号

在我们的管道中运行 lerna publish 时,如下所示:

lerna publish --yes --force-publish=* --canary --preid 2760 --registry

有没有办法获得工件的实际发布版本。

我能想到的一种解决方案是尝试解析来自该发布调用的响应,该调用输出如下:

lerna notice cli v3.13.1
lerna info ci enabled
lerna info canary enabled
lerna WARN force-publish all packages
lerna info Assuming all packages changed

Found 1 package to publish:
 - @xxx/xxx-xxx => 3.0.23-2760.5+175c890
Run Code Online (Sandbox Code Playgroud)

有人有更优雅的解决方案吗?

javascript npm-publish lerna

5
推荐指数
0
解决办法
508
查看次数

仅当 tfs 构建中版本更改时才 npm 发布

我创建了一个私有 npm 包,并将其发布到 Azure Artifacts。为了发布我的 npm 包,我的 tfs 构建定义中有一个 npm 发布步骤。我使用的是tfs版本16.131.28507.4

这一切都按预期进行。但是,如果在 npm 包版本未更改的情况下触发构建,则 npm 发布将失败并出现403禁止。此错误导致我的其余构建失败。npm 包是较大项目的一部分,因此在 npm 包未更改的情况下进行构建并不罕见。

npm publish如果我的包提要中的当前版本与包 json 中指定的版本相同,是否可以阻止执行 tfs 构建步骤运行?

我知道构建步骤中的“自定义条件”,但不确定如何将 Azure Artifacts 当前发布的版本与我的package.json. 我还知道构建定义中的“错误时继续”选项,但这会创建部分成功的构建,在这种情况下我想避免这种情况。

tfs tfsbuild npm npm-publish azure-artifacts

5
推荐指数
1
解决办法
1445
查看次数

如何在 npm 安装期间使用波形符或插入符号添加 npm 依赖项

我开发了一个 npm 模块(暂且称之为module-x),并定期在 npm 平台上更新和发布。

使用此模块的软件通过运行来安装它npm i module-x,但在依赖项部分中安装了固定版本 ( package.json) 。module-xmodule-x: "1.0.0"

我想使用波浪号或插入符号版本而不是产生类似这样的结果"module-x" : "~1.0.0"

我见过其他类似的库request可以做到这一点,但他们是如何做到的呢?

javascript node.js npm npm-publish npm-install

5
推荐指数
1
解决办法
1623
查看次数

npm 发布失败,“路径”参数必须是字符串类型。收到未定义”

我有一个在私有 npm 存储库上发布的项目。在 下node v14.16.0 (npm v6.14.11),命令npm publish运行良好,我的包发布在我的私有存储库中。

我将 npm 升级到 7 以支持对等依赖项安装。现在在 下node v15.12.0 (npm v7.6.3),命令npm publish失败

“路径”参数必须是字符串类型。收到未定义

任何的想法?

更新

npm 7.6.3 与节点 14 效果相同:

“路径”参数必须是字符串类型

更新 2

带标志的控制台输出 --verbose

npm 动词 cli [ npm 动词 cli
'.nvm/versions/node/v15.12.0/bin/node', npm 动词 cli
cafile 0ms 内完成 npm 计时 config:load:validate 0ms 内完成 npm 计时 config:load:setUserAgent 1ms 内完成 npm 计时 config:load:setEnvs 0ms 内完成 npm 计时 config:load 18ms 内完成 npm 动词 npm-session 83e5ee6d9b1b9659 npm:load 在 82 …

node.js npm npm-publish

5
推荐指数
1
解决办法
1688
查看次数

使用 npm 发布时动态添加要忽略的文件夹

我有一个静态.npmignore文件

foo
bar
baz
Run Code Online (Sandbox Code Playgroud)

在里面。当我发布到 NPM 时,这 3 个目录中的内容将被忽略。

我的问题是,有没有办法动态添加npm publish在命令行使用时忽略的文件夹?

就像是:

npm publish --ignore=.r2g
Run Code Online (Sandbox Code Playgroud)

这里我们可以忽略一个名为的文件夹.r2g

这是npm-publish 文档

node.js npm npm-publish

4
推荐指数
1
解决办法
1296
查看次数

npm 使用 git 信息而不是 package.json 中的版本进行发布

我正在尝试找到一个基于 git 信息发布 npm 工件的解决方案。

我查看了npm versionrelease-it,但是这些工具自动执行 git 操作(提交/推送)以在 npm artefact 版本和 git 之间建立链接,它不会从 git 获取信息。

我想发布 npm artefact 及其源的 git 标识,类似于git describe --tags --always. 这样就可以轻松地建立 git/npm 之间的链接,并且唯一的 git 操作是标记,持续集成管道可以通过npm publish.

git-tag-version似乎是工作的一部分,但没有与 artefact 版本建立链接。

我可能会尝试这样做,但也许 npm 中有一些功能可以更轻松地做到这一点?

git continuous-integration npm npm-publish

4
推荐指数
1
解决办法
2057
查看次数

从 Create React App 创建 NPM 包并在 Gitlab 上发布

这可能是一个愚蠢的问题,但我真的不知道发生了什么。

我创建了一个 React 应用程序,并将crate react app其作为私有存储库上传到我的GitLab帐户。(默认)React 应用程序在yarn start本地运行后按预期启动localhost:3000。由于我需要为持续的代码开发创建包,因此我开始使用GitLab 的NPM 注册表。这实际上很简单:

  1. .npmrc在应用程序目录内创建一个
  2. 添加范围存储库 ID身份验证令牌(我选择使用个人令牌),如下所示
# Set URL for your scoped packages.
# This is my top-level group at GitLab

@scope:registry=https://gitlab.com/api/v4/packages/npm/


# Add the token for the scoped packages URL.
# I have chosen to use the personal key -> more infos: https://docs.gitlab.com/ee/user/packages/npm_registry/

//gitlab.com/api/v4/packages/npm/:_authToken="<auth-token>"


# Add token for uploading to the registry.

//gitlab.com/api/v4/projects/<project-ID>/packages/npm/:_authToken="<auth-token>"
Run Code Online (Sandbox Code Playgroud)
  1. 运行npm …

npm gitlab npm-publish create-react-app npm-package

4
推荐指数
1
解决办法
2840
查看次数

npmpublish 只发布index.js并排除其他所有内容

问题

我正在尝试在 npm 中发布我自己的 SDK。当我尝试安装软件包时,我的 dist 文件夹仅显示 index.js

代码:

这是我的package.json文件。它已经包含主文件和文件,https://docs.npmjs.com/cli/v8/using-npm/scripts

{
  "version": "0.1.4",
  "license": "MIT",
  "main": "dist/index.js",
  "typings": "dist/index.d.ts",
  "files": [
    "dist"
  ],
  "engines": {
    "node": ">=10"
  },
  "scripts": {
    "start": "tsdx watch",
    "build": "tsdx build",
    "test": "tsdx test --passWithNoTests",
    "lint": "tsdx lint",
    "prepare": "tsdx build",
    "prepublish": "tsdx build",
    "size": "size-limit",
    "analyze": "size-limit --why"
  },
  "peerDependencies": {
    "react": ">=16"
  },
  "husky": {
    "hooks": {
      "pre-commit": "tsdx lint"
    }
  },
  "name": "@grammable/sdk",
  "author": "peanut butter jelly",
  "homepage": …
Run Code Online (Sandbox Code Playgroud)

javascript npm typescript npm-publish tsdx

4
推荐指数
1
解决办法
2643
查看次数