问题标签 [npm-link]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
node.js - 如何卸载使用 npm 链接安装的软件包?
使用sudo npm link
包目录安装节点包时,完成开发后如何卸载包?
npm link
将包作为符号链接安装在系统的全局包位置 ('/usr/local/lib`) 中。这使您可以在开发包的同时对其进行测试,而无需一遍又一遍地安装它。
我需要运行哪个 npm 命令才能再次删除链接?
node.js - 任何人都知道这些 NPM 警告是关于什么的
在我的项目中运行“npm install”或在依赖它的项目中运行“npm link”后,我收到这些警告。
node.js - npm update 取消链接链接的包
我有一个项目,它由一个根节点包组成,其中包含通过npm link链接在一起的子包 - 这些子包相互依赖(在 package.json 依赖项中列出),结构基本上如下所示:
假设 subpackageA 依赖于 subpackageB,所以我链接它们以避免在 subpackageB 的源每次更改后在 subpackageA 中发布/重新安装 subpackageB。该链接工作正常,直到我npm update
在 subpackageA 中运行,这导致 subpackageB 被取消链接。
现在,我看到两个选项:
- 理论上,我可以
npm link
在每个操作之后运行该操作,npm install
或者npm update
确保链接始终存在。这适用postinstall
于安装的情况,但在更新的情况下postinstall
不会调用。我不知道 npm 的任何postupdate命令,该命令将在更新后调用。 - 也许有一种方法可以更巧妙地做到这一点,也许使用yarn,我也在使用它,在某种程度上,它可以防止取消链接或排除我的子包的更新,所以我不会丢失我的子包之间的链接,但现在我不知道这种方式。
有什么方法可以使这些选项之一起作用或任何其他方法来解决这个问题?我需要保留此链接和其他链接,这样我们就不必npm link
在每次安装/更新后运行。我真的无法在任何地方找到有关此问题的信息。顺便说一句,我使用的是 Node 6.4.0 和 NPM 3.10.3。
javascript - 如何配置 eslint-loader 以 lint NPM 链接模块?
我正在开发一个大型 JavaScript 项目,该项目分为几个子模块,每个子模块都有自己的 git 存储库和节点依赖项。我们还有一个入口点模块App
,它具有 Webpack 和 ESLint 配置。
由于大部分开发者会在几个模块上协同工作,而不是等待每个模块发布,我们使用npm link
将子模块连接到 App 模块,因此在开发过程中对子模块的更改会立即生效对App
模块可见。
我们遇到了问题,eslint-loader
不仅要检查App
模块源代码,还要检查所有通过npm link
. 对子模块的代码进行 linting 时,eslint-loader
无法解析子模块的本地路径。
我有办法解决这个问题吗?
这是该项目的示例结构:
这是 eslint-loader 的相关部分webpack.config.js
:
node.js - 如何在安装时直接执行“npm link”
我有一个内部项目,我想将命令链接到带有bin
. 就像期待这个package.json
:
执行时npm install
,将安装所有依赖项,并创建bin
配置node-red
。
但我自己的bin
会被完全忽略。无法cli-name
在cmd
. npm link
在第二步中也需要执行。然后cli-name
将在控制台中作为命令使用。我什至尝试在其中使用with的postinstall
脚本,但后来我得到了一个循环......npm
npm link
有没有办法一步一步做到这一点npm install
?
javascript - 解决未解决的 npm 链接符号链接要求?
在开发 NPM 包时,通常使用:
它允许<myPackage>
在开发中进行修改,而无需一直发布和取消发布!开发人员可以在本地进行任何更改并立即查看。
它通过以下方式安装到项目中:
很好,但是如果<myPackage>
有一个 require(path) 就会出现问题。
例如,它将使用 __dirname 的真实位置<myPackage>
,而不是符号链接的预期位置,它应该是项目的本地位置,就像常规的 node_module。
到目前为止我找到的解决方案,对于我的特殊情况来说效果很好:
但正如您可以想象的那样,这会导致浏览器中出现警告消息。
虽然我知道这个问题的原因,但理想情况下,我想抑制错误。
node.js - Node/NPM 管理本地包
TL;DR如何在模块化node.js
项目中配置不同的“子模块”以尽可能简单地相互引用?
我正试图围绕 NPM 的本地包,特别是因为它们与模块化项目有关。
我正在构建一个带有前端和后端 API 的 Web 应用程序。这些需要共享一个导出简单模型的包。我的项目目录结构如下所示:
API 和应用程序项目都将使用模型,因此我将该代码抽象为我项目中的一个单独的子模块。
我已经阅读了文档npm link
,这似乎是正确的方法,因为据我了解,它符号链接了node_modules
目录中的包。这样就可以访问当前存在的代码,而不是在node_modules
. 听起来像我需要的东西,但有一个问题:我在几个不同的地方从事这个项目:我的笔记本电脑、我的办公室,偶尔在家。此外,其他人将在未来为该项目做出贡献。
我想让新贡献者尽可能简单地启动并运行开发。
目前,一个新的贡献者经历了这些步骤:
- 克隆存储库
cd
进入模型目录- 跑
npm install
npm link
- 跑
cd
进入 api 目录- 跑
npm install
npm link models
- 跑
cd
进入应用程序目录- 跑
npm install
npm link models
- 跑
- 开工
我想做的(我认为npm
应该有能力做的)是:
- 克隆存储库
cd
进入模型目录- 跑
npm install
- 跑
cd
进入 api 目录- 跑
npm install
- 跑
cd
进入应用程序目录- 跑
npm install
- 跑
- 开工
我可以编写一个脚本来做到这一点,但这似乎是一个明显的用例npm
,我怀疑它可能能够做这样的事情。我想我可能忽略了一些东西,因为我没有在文档中找到它。
javascript - NPM 链接到 Src 目录而不是 Lib 目录
我一次处理几个 NPM 模块 - 有一个主模块可以导入其他三个模块。我曾经npm link
将其他模块链接到主模块,但是我正在使用 Babel 编写所有模块来转译源代码。当我构建我运行的模块之一时,npm run build
它运行编译并将模块src
目录中的文件编译到其lib
目录。但是,因为每个模块的 package.json 文件都指定了主文件位置,因为lib/index.js
这意味着要使链接模块看起来更新到我的主模块,我总是需要构建它。
有没有办法(使用时npm link
)让它链接到src
目录而不是lib
目录?如果做不到这一点,是否有更好的方法来实现我想要的 - 看到链接模块代码的更新立即反映在主模块中?
npm - 使用热重载进行 Npm 本地模块开发
我正在构建 2 个依赖的 npm 包。
Module A (package.json)
我们使用npm link
本地连接这两个应用程序。目前我们需要npm run prepublish
在 module-b 上运行以可视化 module-a 上的更改,同时在 module-a 上运行 webpack dev server
问题:我们是否可以在两个模块之间进行热重载。就像对模块 B 所做的任何更改都会自动反映在模块 A 上一样?
angular - 链接模块依赖关系未解决
我面临一个与npm link
这是在本地发布模块并在其他 Angular 应用程序中使用它们的情况。我有 2 个应用程序
1) app-core (本地发布)
2) app-main
app-core
包含以下依赖项(通过 npm 安装):
core
rxjs
zone
ng2-cache // 注意这个!
ETC...
app-main
包含以下依赖项(通过 npm 安装):
核心
rxjs
http
等...
我正在使用(符号链接)将app-core模块链接到本地 npm
全局链接此模块
现在我在我的app-main中使用app-core
到目前为止一切都很好,当我构建我的app-main时,它向我显示以下错误:
说明: ng2-cache是注入到app-core中的依赖项,而ng2-cache本身是一种自定义模块,所以它现在变成了嵌套,因为我在另一个模块 app-core 中使用了自定义模块(ng2-cache) (我自己的)和我在app-main中使用的这个app-core。
这就是困扰我的情况,我的 app-main 模块没有在其中解析 ng2-cache 模块。我应该怎么办?
欣赏你的努力!