我在Mac上使用最新的npm。我遇到了一个奇怪的问题:如果我想在文件夹中本地安装某些软件包,则不得不public static <E> FooWrapper<E> from(Foo<E> toWrap) {
return new FooWrapper<E>(toWrap);
}
。换句话说,如果我只是npm init
,它将在全局安装(在我的/ User / npm-modules文件夹中),因此在本地安装的唯一方法是初始化文件夹。因此,基本上,与通常情况相反。为什么?有想法吗?
答案 0 :(得分:7)
npm init
在您当前的项目目录中创建package.json
文件。当您使用命令package.json
设置npm i PACKAGE-NAME
时,npm软件包将在本地安装。
答案 1 :(得分:4)
是的,如果要安装本地软件包,则需要创建package.json文件。这就是npm init的作用,然后您可以安装软件包
答案 2 :(得分:0)
我有一段时间没有使用node了,但是回想起来,npm曾经从当前目录开始寻找node_modues
文件夹,然后一直移动到父文件夹。如果找不到node_modules
文件夹,则它将转到全局文件夹。
因此,在您的情况下,请在当前目录中创建一个空的node_modules文件夹,然后尝试npm install [package]
这应该避免您提到的FORCED npm init
。但是,更干净的解决方案是始终使用npm init
。
npm的想法是在一个项目中分离不同的应用程序及其依赖性。在同一文件夹中寻找节点模块有助于实现这一目标。