NPM 模块(handontable)不安装子依赖项(numbro)作为项目依赖项
NPM module (handontable) not installing sub-dependency(numbro) as project dependencies
我想做什么:
所以,我正在安装一个依赖 numbro
的包(另一个包)。对于我的用例,我需要使用该包并用一些值对其进行初始化。 (设置默认货币)
但是,我无法在我的代码中使用该包。从检查 package-json.lock 开始,我可以看到该包不作为直接项目依赖项存在,而是存在于 handontable 的依赖项中。
我想,我可以直接在我的 package.json 文件中添加 numbro
来初始化一些值,但从表面上看,直接添加它并设置默认值并不能解决问题。
为了进一步检查,我创建了一个只有 handontable 和 handontable/angular 的虚拟 angular 项目,看看我是否可以在那里重现该问题。但是,在 npm 安装之后,我可以在虚拟项目中使用 numbro
包,原因是它作为直接项目依赖项存在于 package-json.lock 文件中。
numbro、handontable、handontable/angular 和 angular 的版本在两个项目中都是相同的,但为什么在一个项目中我可以使用我的 [=36] 中的子依赖项=] 项目,但在另一个项目中我不能?
原项目:
虚拟 Fiddle 项目:
(作为直接项目依赖项安装)
所以,我在动手支持团队的帮助下修复了它。我删除了 node_modules 文件夹和 package-json.lock 文件。
之后 npm install 成功了。
我之前曾尝试删除 node_modules 文件夹,但单独这样做并不能解决问题。
我想做什么:
所以,我正在安装一个依赖 numbro
的包(另一个包)。对于我的用例,我需要使用该包并用一些值对其进行初始化。 (设置默认货币)
但是,我无法在我的代码中使用该包。从检查 package-json.lock 开始,我可以看到该包不作为直接项目依赖项存在,而是存在于 handontable 的依赖项中。
我想,我可以直接在我的 package.json 文件中添加 numbro
来初始化一些值,但从表面上看,直接添加它并设置默认值并不能解决问题。
为了进一步检查,我创建了一个只有 handontable 和 handontable/angular 的虚拟 angular 项目,看看我是否可以在那里重现该问题。但是,在 npm 安装之后,我可以在虚拟项目中使用 numbro
包,原因是它作为直接项目依赖项存在于 package-json.lock 文件中。
numbro、handontable、handontable/angular 和 angular 的版本在两个项目中都是相同的,但为什么在一个项目中我可以使用我的 [=36] 中的子依赖项=] 项目,但在另一个项目中我不能?
原项目:
虚拟 Fiddle 项目:
所以,我在动手支持团队的帮助下修复了它。我删除了 node_modules 文件夹和 package-json.lock 文件。
之后 npm install 成功了。
我之前曾尝试删除 node_modules 文件夹,但单独这样做并不能解决问题。