说我想生成预发布的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-xmodule-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