当前位置: 首页 > 面试题库 >

节点版本管理器(NVM)npm将模块安装到公用文件夹

万楷
2023-03-14
问题内容

我已经按照这篇文章中的说明为node.js安装了NVM:

http://www.backdrifter.com/2011/02/18/using-nvm-and-npm-to-manage-node-
js/

当我在节点版本之间切换时,然后使用npm安装模块时,所有模块都放在相同的“ node_modules”文件夹(〜/ node_modules
/)中,而不是在特定于该节点版本的“ node_modules”目录中?

关于如何解决这个问题的任何想法?


问题答案:

基于来自https://github.com/creationix/nvm/pull/97的评论:

使用全局开关-g使用npm安装软件包时,该软件包最终位于正确的目录(即.nvm / $ VERSION / lib /
node_modules)中,但是node无法要求它,因为它不以某种方式搜索其前缀。

因此,使用npm install -g xxxxx会将模块放置在NVM的正确位置,但是如果尝试使用require其中一个,则节点找不到该模块。我仍在处理这个问题,如果找到解决方案,它将进行更新。

更新资料

NPM将node_modules放在哪里?(请参阅https://docs.npmjs.com/files/folders)

  • 本地安装(默认):将内容放入当前软件包根目录的./node_modules中。
  • 全局安装(带-g):将内容放入/ usr / local或安装节点的任何位置。
  • 如果要去本地安装require()它。
  • 如果要在命令行上运行它,请全局安装它。
  • 如果两者都需要,则将其安装在两个地方,或使用npm link

因此,我的操作在生成根文件包的项目根目录中运行npm init(请参阅http://npmjs.org/doc/init.html)。现在,当我运行npm install xxxxx它时,在我的项目文件夹(将其添加到.gitignore中)中创建一个node_modules目录。这适用于我代码中所需的模块。

对于诸如CoffeeScript之类的命令,我npm install -g coffee-script将其安装在正确的目录(.nvm / $
VERSION / lib / node_modules)中。虽然我不需要这些模块(npm链接应该可以解决此问题),但我可以运行命令-即coffee



 类似资料:
  • 问题内容: 我正在尝试按照以下说明安装NVM 我在终端输入以下命令: 运行安装后,我重新启动终端并尝试使用以下命令安装Node.js: 但我得到了答复: 我不确定自己在做什么错。 附加信息 - 我一直在寻找其他帖子和论坛的解决方案。我发现了另一个解决方案 但这每次我尝试都会超时。任何帮助,将不胜感激。谢谢。 问题答案: 检查你的, 或文件。您很可能在安装过​​程中遇到了问题。 这些文件之一的末尾应

  • 问题内容: 我正在尝试制作一个从串行端口读取数据的电子应用程序(https://electron.atom.io/)。我是Web技术的新手,我知道一些javascript,但是我是c ++专家。 所以我从github上拉了他们的快速入门, 有了这个容易的工作,我试图用 安装了该文件并通过测试文件正常运行后,我尝试将两者结合起来并放入index.html文件中。有了这个我得到这个错误: 任何想法如何

  • 我有一个问题时运行命令"npm安装"。我想安装大口和鲍尔模块,但当我运行"npm安装"或"npm安装鲍尔"我得到了一个错误VS2013.我为什么会有这个错误?如何解决这个问题?以下是我安装的指定版本: 节点v10.15 npm v6.10.3 python v2.7 VSCODE v1.37.1(用户设置) 我已经添加代理配置: npm配置设置https代理超文本传输协议://xxxxx npm配

  • 问题内容: 我有一个下载的模块库,我想在本地安装它,而不是在另一个目录中全局安装? 有什么简单的方法可以做到这一点? 问题答案: 您只需为提供一个参数,则该参数应指向本地文件夹而不是包名称:

  • 所有发布在npm上的模块,都可以在自己的npm主页上看到。 但是如果想要更为直观的管理,可以通过一个名为badgeboard的工具来浏览。 对于npm的模块,已经有很多成熟的服务,方便开发者了解自己的模块状态。 正如上图中所示,常用的服务有: 持续集成:travis 测试覆盖:coveralls 查看模块依赖:david-dm 这些工具都可以非常好的帮助你管理自己的npm模块、了解模块的状态。 例

  • 问题内容: 我正在使用node_swiz模块,而后者又使用了验证器模块。 我想对验证器模块进行更改,但是我使用npm install来安装模块/依赖项。 我可以只在node_modules内部更改验证器模块,还是在发布到heroku或下次运行npm install时重新创建node_modules依赖关系并获得最新版本? 结构如下: 谢谢您的帮助! 问题答案: 您可以直接编辑文件,但是每当npm更