因此,我导航到我的项目目录并运行npm install scrollama intersection-observer
。它将文件安装在我的HOME / node-modules上,而不是项目文件夹中。但是,在安装过程中会出现警告:
npm WARN saveError ENOENT: no such file or directory, open '[my-home]/package.json'
npm notice created a lockfile as package-lock.json. You should commit this file.
npm WARN enoent ENOENT: no such file or directory, open '[my-home]/package.json'
npm WARN [my-user] No description
npm WARN [my-user] No repository field.
npm WARN [my-user] No README data
npm WARN [my-user] No license field.
那为什么要在全球范围内(或者在我家而不是项目文件夹中)安装它?
答案 0 :(得分:2)
因为您的文件夹不是有效的npm安装位置,因为它找不到package.json
。要创建它,只需运行:
npm init
答案 1 :(得分:2)
您没有使用npm init
。 npm init将初始化您的节点项目并创建一个package.json文件。 package.json文件将存储有关项目的信息,例如项目名称,版本,描述以及您下载的依赖项。
在您的情况下,没有package.json文件,因此,您的软件包已安装到主目录而不是当前目录。
此外,您还可以使用-g之类的参数在不带任何参数的情况下全局安装软件包(到主目录),默认情况下,节点会将软件包安装在当前目录中。
本地安装:您可以在项目内使用该软件包。 全局安装:您可以在任何地方使用该软件包。像nodemon这样的命令是全局安装的,因为您想在每个项目中使用它们。