说我想生成预发布的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 patch
并npm version prepatch
没有太大的区别.
所以我的问题是 - 是否有官方方法在命令行生成带有npm的alpha/beta版本?
npm version minor-alpha
npm version minor-beta
npm version minor-rc
Run Code Online (Sandbox Code Playgroud)
这样的事情?
我正在尝试将范围包发布到私有 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) 在我们的管道中运行 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)
有人有更优雅的解决方案吗?
我创建了一个私有 npm 包,并将其发布到 Azure Artifacts。为了发布我的 npm 包,我的 tfs 构建定义中有一个 npm 发布步骤。我使用的是tfs版本16.131.28507.4
。
这一切都按预期进行。但是,如果在 npm 包版本未更改的情况下触发构建,则 npm 发布将失败并出现403
禁止。此错误导致我的其余构建失败。npm 包是较大项目的一部分,因此在 npm 包未更改的情况下进行构建并不罕见。
npm publish
如果我的包提要中的当前版本与包 json 中指定的版本相同,是否可以阻止执行 tfs 构建步骤运行?
我知道构建步骤中的“自定义条件”,但不确定如何将 Azure Artifacts 当前发布的版本与我的package.json
. 我还知道构建定义中的“错误时继续”选项,但这会创建部分成功的构建,在这种情况下我想避免这种情况。
我开发了一个 npm 模块(暂且称之为module-x
),并定期在 npm 平台上更新和发布。
使用此模块的软件通过运行来安装它npm i module-x
,但在依赖项部分中安装了固定版本 ( package.json
) 。module-x
module-x: "1.0.0"
我想使用波浪号或插入符号版本而不是产生类似这样的结果"module-x" : "~1.0.0"
。
我见过其他类似的库request
可以做到这一点,但他们是如何做到的呢?
我有一个在私有 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 …
我有一个静态.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
我正在尝试找到一个基于 git 信息发布 npm 工件的解决方案。
我查看了npm version和release-it,但是这些工具自动执行 git 操作(提交/推送)以在 npm artefact 版本和 git 之间建立链接,它不会从 git 获取信息。
我想发布 npm artefact 及其源的 git 标识,类似于git describe --tags --always
. 这样就可以轻松地建立 git/npm 之间的链接,并且唯一的 git 操作是标记,持续集成管道可以通过npm publish
.
git-tag-version似乎是工作的一部分,但没有与 artefact 版本建立链接。
我可能会尝试这样做,但也许 npm 中有一些功能可以更轻松地做到这一点?
这可能是一个愚蠢的问题,但我真的不知道发生了什么。
我创建了一个 React 应用程序,并将crate react app
其作为私有存储库上传到我的GitLab帐户。(默认)React 应用程序在yarn start
本地运行后按预期启动localhost:3000
。由于我需要为持续的代码开发创建包,因此我开始使用GitLab 的NPM 注册表。这实际上很简单:
.npmrc
在应用程序目录内创建一个# 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)
npm …
问题
我正在尝试在 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) npm-publish ×10
npm ×9
javascript ×3
node.js ×3
azure-devops ×1
git ×1
gitlab ×1
lerna ×1
npm-install ×1
npm-package ×1
npm-version ×1
tfs ×1
tfsbuild ×1
tsdx ×1
typescript ×1