标签: npm-publish

npm安装和构建forked github repo

这不是一个全新的问题,但我现在一直在寻找一段时间,我很难找到解决方案.

我正在为我的角应用程序使用一个名为angular-translate的模块.但是,我必须对源代码进行一些小的修改才能使所有内容按照我喜欢的方式运行,现在我想继续保留这些更改npm install.一位同事建议我分叉源代码的回购并指向我的分叉回购作为依赖,我已经尝试过这些方式,例如

npm install https://github.com/myRepo/angular-translate
npm install https://github.com/myRepo/angular-translate/archive/master.tar.gz
Run Code Online (Sandbox Code Playgroud)

第一个给我一个这样的目录,没有构建.只是一个package.json,.npmignore和一些markdown文件

-angular-translate
   .npmignore 
   .nvmrc
    CHANGELOG.md 
    package.json
    etc
Run Code Online (Sandbox Code Playgroud)

第二个npm install给了我完整的回购,但我再也没有得到像我使用命令时的构建npm install angular-translate.我已经看到了运行预发布脚本的一些讨论,但我不确定在安装所有模块时如何执行此操作.我也尝试将fork作为我自己的模块发布到npm注册表,但我再次没有构建,我不确定这是正确的做法...

对于我对这个话题的无知,我道歉.我对npm没有太多的经验.很想得到关于这个问题的一些反馈.当需要对包的源代码进行修改时,它似乎是一个常见的问题?也许有更好的解决方案?在此先感谢您的帮助.

github npm git-fork npm-publish npm-install

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

npm发布导致'错误:EPERM:不允许操作,取消链接...',错误-4048

我正在尝试发布我的NPM包:npm publish.

我得到以下相当神秘的错误:

npm ERR! path c:\Temp\npm-20936-b98f84c8\tmp\fromDir-02dd5394\package.tgz
npm ERR! code EPERM
npm ERR! errno -4048
npm ERR! syscall unlink
npm ERR! Error: EPERM: operation not permitted, unlink 'c:\Temp\npm-20936-b98f84c8\tmp\fromDir-02dd5394\package.tgz'
npm ERR!     at Error (native)
npm ERR!  { Error: EPERM: operation not permitted, unlink 'c:\Temp\npm-20936-b98f84c8\tmp\fromDir-02dd5394\package.tgz'
npm ERR!     at Error (native)
npm ERR!   cause:
npm ERR!    { Error: EPERM: operation not permitted, unlink 'c:\Temp\npm-20936-b98f84c8\tmp\fromDir-02dd5394\package.tgz'
npm ERR!        at Error (native)
npm ERR!      errno: -4048,
npm ERR!      code: 'EPERM',
npm ERR!      syscall: 'unlink', …
Run Code Online (Sandbox Code Playgroud)

node.js npm npm-publish npmjs

36
推荐指数
1
解决办法
1万
查看次数

如何在.npmrc中为作用域注册表设置_auth?

我想知道如何配置.npmrc文件,以便我可以拥有默认注册表和具有身份验证的不同范围注册表.

我使用Nexus作为私有存储库,我不知道如何为作用域注册表设置身份验证,只有默认注册表.

例如我的~/.npmrc文件是:

registry=https://registry.npmjs.org/
@test-scope:registry=http://nexus:8081/nexus/content/repositories/npm-test/
email=test@user.com
_auth="…"
Run Code Online (Sandbox Code Playgroud)

如果我npm publish为一个作用域的包test-scope,我收到一个身份验证错误.

AFAIK,_auth唯一适用于该registry=...部分.有没有办法为该@test-scope:registry=...部分指定auth密钥?

谢谢,

authentication nexus node.js npm npm-publish

20
推荐指数
3
解决办法
9545
查看次数

npmjs.com如何计算代码质量

当我们向npm发布一个包时,它会在搜索页面中显示一些数据,如流行度,质量和维护(示例图像是打击的).我只是想知道npm如何计算质量?真的很感激,如果有人能给出一些线索.

在此输入图像描述

如果您在搜索页面上查看,可以看到此信息.查看搜索页面的右侧:npm搜索"react"

javascript npm npm-publish

18
推荐指数
1
解决办法
1876
查看次数

我是如何获得 111 次 npm 下载的?

所以两天前我发布了我的第一个 npm 包,一个用于修剪和加入音频文件的简单库

奇怪的是我已经获得了 111 次下载。我还没有与任何人分享过这个包。我也没有记录任何东西。自述文件实际上是空白的。这可能是一个错误吗?

javascript npm npm-publish npm-install

16
推荐指数
1
解决办法
6544
查看次数

您不能在以前发布的版本上发布

我已经使用更新了我的包npm version minor去从0.4.0到0.5.0,无一不package.jsonpackage-lock.json反映这一点。但是,当我运行npm publish命令时,它说:

您不能在以前发布的版本上发布:0.4.0

是否还有其他地方需要更新 semver 才能发布?

npm npm-publish

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

使用 NX 和 Angular 对可发布库进行对等依赖配置

我有一个使用 NX 和 Angular 的 monorepo,我正在向 NPM 发布一些库,我有以下场景

\n
apps\n   only_App\nlibs\n   lib_A // v1.0.0\n   lib_B // v1.0.0\n   lib_C // v1.0.0\n
Run Code Online (Sandbox Code Playgroud)\n

lib_A 依赖于 lib_B 和 lib_C。

\n

预构建的package.json中lib_A没有\xe2\x80\x99t 有任何peerDependency并且在我构建它之前发布它之后,自动添加对等依赖项,例如

\n
// BUILT lib_A/package.json\n\n{\n...,\n"peerDependencies":{\n   "@myScope/lib-b": "1.0.0", //specifically that version\n   "@myScope/lib-c": "1.0.0",\n}\n}\n
Run Code Online (Sandbox Code Playgroud)\n

问题是当我lib_A在另一个项目中发布并使用它时(在 NX 和此存储库之外)。它总是期望我使用lib_Bv1.0.0 lib_C \n如果我打补丁lib_B将其升级到v1.0.1,那么我也被迫重建lib_A更新peerDependency版本。也发布lib_A和升级lib_A版本。

\n

有没有办法可以配置它,以便在构建时lib_A将其添加^到我的库中?IE

\n
// BUILT lib_A/package.json\n\n{\n...,\n"peerDependencies":{\n   "@myScope/lib-b": "^1.0.0", //automatically …
Run Code Online (Sandbox Code Playgroud)

npm npm-publish angular ng-packagr nrwl

12
推荐指数
1
解决办法
4121
查看次数

npm发布是否执行npm包

考虑到Node.js包管理器,即npm - 如果发布命令在发布之前执行pack命令或者它是否完全不同,我很好奇?所以,如果我要执行:

npm publish <folder>
Run Code Online (Sandbox Code Playgroud)

它首先执行以下操作:

npm pack <folder>
Run Code Online (Sandbox Code Playgroud)

我无法找到文档中提到的任何内容.


主要的原因我很好奇这是我们的构建过程仅仅是做npm publish没有明确npm pack之前,但不包出现有预期的内容.即; 的内容.tgz,当我执行本地不同npm pack到的内容npm publish.

node.js npm npm-publish

11
推荐指数
1
解决办法
948
查看次数

如何仅将 dist 文件夹打包到 monorepo 中

我在我的 monorepo 中使用 lerna 和 Yarn 工作区。包结构如下所示:

root
`--- packages
     |--- pkg1
     |    |--- src
     |    |    `--- index.ts
     |    `--- dist
     |         `--- index.js
     `--- pkg2
          |--- src
          |    `--- index.ts
          `--- dist
               `--- index.js
Run Code Online (Sandbox Code Playgroud)
  • src文件夹被编译到dist文件夹中。
  • 对于每个包,我只想发布dist文件夹,以便导入工作不需要mainpackage.json 中指向dist文件夹内部的条目。这很容易用 lerna: 来完成lerna publish --contents dist

这对于需要使用此存储库的外部项目来说效果很好,但它在存储库本身中不起作用。例如,如果pkg2, 取决于pkg1,它会在 处查找 pkg1 的 index.js 文件,pkg1/index.js而实际上编译后的版本位于 下pkg1/dist/index.js。我怎样才能做到这一点?

PS我已经在像material-ui这样的存储库中看到了这项工作,但我无法解释它是如何在那里工作的!

npm-publish lerna yarn-workspaces

11
推荐指数
2
解决办法
8832
查看次数

如何使用 API 密钥将包发布到 npm?

NPM 能够创建具有将包发布到 NPM 注册表的权限的访问令牌,假设您已将包设置设置为“发布访问”中的“需要双因素身份验证或自动化令牌”(因此隐含地要求我认为 2FA 已启用)。

如何使用该令牌进行发布?我检查了npm publish-- 它要求输入 OTP 代码(作为提示或标志)的输出,在我启用 2FA 之前,它再次要求我输入密码。使用固定令牌比启动我的身份验证器应用程序更容易。我可以禁用 2FA,但让令牌正常工作更好。

npm npm-publish

11
推荐指数
1
解决办法
1万
查看次数