我有一个应用程序,该应用程序具有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”,并且不在本地查找)。
--save
"mymodule":"0.0.0"
我敢肯定,这是一种告诉"dependencies":{}结构我要从文件系统路径安装它的方法,但是不知道如何。
"dependencies":{}
还有其他人有这个问题吗?谢谢。
npm install
npm install --save ../path/to/mymodule
为此,mymodule必须将其配置为具有自己的模块package.json。请参阅创建NodeJS模块。
mymodule
package.json
从npm2.0开始,本地支持本地依赖性。我在此复制了他的回答,因为该问题在网络搜索结果中的排名很高。
此功能已在npm的2.0.0版本中实现。例如: { "name": "baz", "dependencies": { "bar": "file:../foo/bar" } } 以下任何路径均有效: ../foo/bar ~/foo/bar ./foo/bar /foo/bar
此功能已在npm的2.0.0版本中实现。例如:
{ "name": "baz", "dependencies": { "bar": "file:../foo/bar" } }
以下任何路径均有效:
../foo/bar ~/foo/bar ./foo/bar /foo/bar
由于已npm install复制mymodule到node_modules,mymodule因此相关项目将不会自动看到来源更改。
node_modules
有两种方法来更新依赖项目
更新的版本,mymodule然后使用npm update:如上所示,package.json“依赖项”条目不包含版本说明符,就像正常依赖项所看到的那样。相反,对于本地依赖项,npm update只需尝试确保已安装 最新 版本(由决定mymodule)即可package.json。。
npm update
使用重新安装npm install。这将安装mymodule的源路径中的任何内容,即使它较旧,或已签出备用分支,也如此。