首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >npm不会在本地安装包。怎么了?

npm不会在本地安装包。怎么了?
EN

Stack Overflow用户
提问于 2012-06-12 01:53:54
回答 2查看 29.3K关注 0票数 21

我想在本地安装包,但npm总是将包安装到全局位置。我正在运行以下命令:

代码语言:javascript
复制
npm install serialport

我没有.npmrc命令,也没有使用-g标志,所以我不知道为什么不在本地安装它。以下是配置转储中的一段代码片段,显示global为false:$ npm config ls -l | grep global global = false globalconfig = "/usr/local/etc/npmrc“globalignorefile = "/usr/local/etc/npmignore”

而这些包仍然是这样安装的

代码语言:javascript
复制
serialport@0.7.3 ../../../../node_modules/serialport

因此,除非我完全错误地理解了“本地”的含义,否则这似乎是错误的。我的印象是“本地”意味着在当前的工作目录中,这样我就可以在我的主代码文件中执行“请求”。请参阅:在前面的npm相关问题中引用的http://blog.nodejs.org/2011/03/23/npm-1-0-global-vs-local-installation/

有人能给我一些提示吗?非常感谢。

附注:它不是特定于序列端口模块的。这正发生在所有人身上。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-12 02:15:10

我的大部分答案都可以找到:http://npmjs.org/doc/folders.html#More-Information

据我所知,npm会尝试将其安装在一个合理的位置。因此,如果您有一个project/node_modules目录,并且您在/project中并进行npm安装,那么它将使用product/node_modules

现在,如果您不小心安装了cd project/css并安装了npm,那么npm将遍历直到找到您的node_modules目录。这是为了防止您意外地将其安装到您的project/css中。

因此,在您的示例中,在项目路径中的某个位置有一个node_module目录。因此,我猜测您可以通过删除该目录或在项目文件夹中手动创建一个node_modules目录来修复它。

票数 32
EN

Stack Overflow用户

发布于 2015-12-06 05:45:37

如果您尝试安装软件包的文件夹中有一个package.json文件,那么它将正确地创建node_modules文件夹。

基本package.json

代码语言:javascript
复制
{
    "name": "application-name",
    "version": "0.0.1"
}
票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10985097

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档