为什么当我全局安装npm-package时,它没有安装所有软件包依赖项,而在本地时却安装了所有软件包依赖项呢?

时间:2020-08-15 13:48:55

标签: npm cypress

我全局安装了@percy/cypress软件包,并通过npm link将其链接到项目,但是@percy/agent中有package.json依赖性,并且它没有安装。我错了,即已安装,但是系统无法找到它的二进制文件。所以我没有percy发行的二进制文件,而@percy/cypress在本地安装时(通过通常的npm install)得到了二进制文件。为什么?

更新

My npm ls -g

它出现在@percy/cypress软件包中,但是没有环境的二进制路径,即如果我运行percy exec -- cypress run ...,则会收到错误消息:

sh:1:percy:未找到 npm ERR!代码ELIFECYCLE npm ERR! syscall产生 npm ERR!文件sh npm ERR! errno ENOENT

当我在本地安装它或手动将@percy/agent添加为全局变量时,情况并非如此。

我可以避免手动安装全局软件包的依赖性吗? AFAIK在本地安装期间,npm将二进制文件添加到项目的node_modules/.bin目录中。也许,我也应该提供它,因为(符号)链接到global或项目二进制文件的路径?一种很苛刻的方法是将bin的必要目录(@pecy/agent)复制到项目的node_modules/.bin,但这看起来很奇怪而且很棘手。我想,应该有更合适或更标准的方法来使其工作

0 个答案:

没有答案