当前位置: 首页 > 面试题库 >

如何将本地模块指定为npm软件包依赖项

公良飞尘
2023-03-14
问题内容

我有一个应用程序,该应用程序具有package.json文件中依赖项下指定的第三方模块(例如“ express”)的通常依赖项。例如

"express"     : "3.1.1"

我想模块化地构建自己的代码,并通过package.json安装一组本地(即我当前所在的文件系统上的)模块。我知道我可以通过运行以下命令安装本地模块:

npm install path/to/mymodule

但是,我不知道如何通过package.json依赖项结构来实现这一点。--save在此命令中使用该选项只是将其"mymodule":"0.0.0"放入我的package.json中(不引用文件路径位置)。如果我随后从node_modules中删除已安装的版本,并尝试从package.json重新安装,它将失败(因为它在中央注册表中查找“mymodule”,并且不在本地查找)。

我敢肯定,这是一种告诉"dependencies":{}结构我要从文件系统路径安装它的方法,但是不知道如何。

还有其他人有这个问题吗?谢谢。


问题答案:

npm install 现在支持

npm install --save ../path/to/mymodule

为此,mymodule必须将其配置为具有自己的模块package.json。请参阅创建NodeJS模块。

从npm2.0开始,本地支持本地依赖性。我在此复制了他的回答,因为该问题在网络搜索结果中的排名很高。

此功能已在npm的2.0.0版本中实现。例如:

{
  "name": "baz",
  "dependencies": {
    "bar": "file:../foo/bar"
  }
}

以下任何路径均有效:

../foo/bar
~/foo/bar
./foo/bar
/foo/bar

同步更新

由于已npm install复制mymodulenode_modulesmymodule因此相关项目将不会自动看到来源更改。

有两种方法来更新依赖项目

  • 更新的版本,mymodule然后使用npm update:如上所示,package.json“依赖项”条目不包含版本说明符,就像正常依赖项所看到的那样。相反,对于本地依赖项,npm update只需尝试确保已安装 最新 版本(由决定mymodule)即可package.json。。

  • 使用重新安装npm install这将安装mymodule的源路径中的任何内容,即使它较旧,或已签出备用分支,也如此。



 类似资料:
  • 我有一个应用程序,它对第三方模块(例如,'express')有一组通常的依赖关系,这些依赖关系在package.json文件的依赖关系下指定。例如。 我希望模块化地构造自己的代码,并让package.json安装一组本地(即我当前所在的文件系统)模块。我知道可以通过运行以下操作来安装本地模块: 但是,我不知道如何通过package.json依赖项结构实现这一点。在该命令中使用选项只是将放入my p

  • 问题内容: 我已经通过安装了一些软件包,而没有设置第一个软件包。现在,我想创建一个文件,但是将所有已安装的软件包保留为依赖项。简单运行不提供此选项,我可以自动实现吗? 问题答案: 2016年1月更新 npm 现在开箱即用。我有npm 3.5.2 版本。 因此仅安装了 下划线* 的 node_modules 文件夹。 * 然后: 包含在package.json中:

  • 配置 jar 包需要在 compile 中添加响应依赖。下面的代码添加了 libs 文件夹中的所有 jar 作为依赖。 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) } android { ... } 注意:dependencies DSL 标签是标准 Gradle API 中的一部分,所以它不属于

  • npm是否有安装依赖作为对等依赖的选项,如yarn选项,而不是手动添加它例如: 感谢@Broncha,更新问题的更多说明 问题是如何向项目添加对等依赖。那就是 将依赖项添加到package.json中的“dependencies”中, 如何安装将其添加到package.json?中的“对等依赖”的依赖项

  • 问题内容: 在“撰写设置脚本(http://docs.python.org/2/distutils/setupscript.html)”的python文档中提到可以在本节中指定依赖项 > 2.4。发行与包装之间的关系 […]可以使用distutils.core.setup()函数的关键字参数来指定这些关系。 可以通过向setup()提供require关键字参数来指定对其他Python模块和软件包的

  • 问题内容: 可以说我正在开发MyApp应用程序,我想为其构建MyModule NPM模块。现在,我可以想到两种开发方法: 进行更改->保存-> npm在MyApp中安装/ path / to / module 与1相同,除了运行npm install / path / to / module,然后直接在node_modules中对其进行编辑,然后复制所做的更改。 我想要一个更简单的工作流程。我可以