Angular npm安装为什么要执行所有操作?

Angular npm安装为什么要执行所有操作?,angular,npm,Angular,Npm,首先,我对npm的东西和角度都很陌生。我参加了一个项目,我被引导相信在我们的沙箱区域工作过。过去的主要开发工作是在一个可以访问互联网以获取软件包的区域进行的,但我目前所处的环境无法连接到网络。我们在内部网络上有一个存储库,可以从中提取包 我遇到了很多问题,但我只是想一次解决1个问题。 我想我可以运行一个npm install packageName,看看我是否可以只拉一个包的最新版本。尽管我只尝试拉取指定的项目,但projectspackage.json似乎总是得到执行。我知道它正在读取pack

首先,我对npm的东西和角度都很陌生。我参加了一个项目,我被引导相信在我们的沙箱区域工作过。过去的主要开发工作是在一个可以访问互联网以获取软件包的区域进行的,但我目前所处的环境无法连接到网络。我们在内部网络上有一个存储库,可以从中提取包

我遇到了很多问题,但我只是想一次解决1个问题。 我想我可以运行一个npm install packageName,看看我是否可以只拉一个包的最新版本。尽管我只尝试拉取指定的项目,但projects
package.json
似乎总是得到执行。我知道它正在读取
package.json
文件,因为我已经跟踪到了一个不存在的名为popper的包。如果我从
package.json
文件中删除popper,那么错误就消失了。 我怎么可能只拉一个包裹而不拉其他东西? e、 g.尝试仅获取angular5 csv的最新包

npm install angular5-csv
npm install angular5-csv --no-optional
npm install angular5-csv --production --no-package-lock --no-save
npm install angular5-csv --production --no-package-lock --no-save
我认为不应该一直阅读
package.json
,这是不是错了?
我知道它是被执行的,因为有100多个软件包被更新。

一个简单的解决方法可能是重命名您的软件包。json+install+rename再次:

mv package.json package.bak
npm install <package_name> --no-save
mv package.bak package.json
mv package.json package.bak
npm安装--不保存
mv package.bak package.json
根据package.json的内容,您可以尝试

  • npm安装
    :将同时安装“依赖项”和“devdependency”

  • npm安装--生产版
    :将只安装“依赖项”

  • npm安装--dev
    :将只安装“devdependences”


当您安装软件包时,软件包的依赖项也会被下载。如果你读了这篇npm。上面说
如果一个包引用另一个带有git URL的包,npm依赖于预安装的git。
因此它将使用系统安装的git获取这些依赖项,或者根据安装包的依赖项更新当前包。这将导致
更新包,因为基础依赖项也将得到更新

如果您现在将其与纱线进行比较,
纱线添加
会导致
将包裹放在磁盘上。在下一次安装期间,将使用此软件包,而不是发送HTTP请求从注册表获取tarball。
你想要的欲望行动


避免这种情况的一种方法是按照预期使用语义版本控制,并在应用程序的package.json中指定
“angular5 csv”:“1.0.0”
。这样,package-lock.json将获得软件包的明确版本,npm将不会更新这些软件包。

我正在尝试这样做,但仍然会得到错误!当我删除package.json文件中的条目时,我知道的对缺少的包的引用消失了。由于找不到包,它试图联系github.com。。。我应该完全删除节点模块吗?清理节点模块总是一个好主意。在此之后,您需要运行npm安装。顺便说一句,为什么要安装单个软件包?通常,只有在添加新包的情况下才能执行此操作。默认设置为:克隆源,运行“npm安装”,运行“npm启动”