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

我已经按照这篇文章中的说明为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)npm将模块安装到公用文件夹 的全部内容, 来源链接: utcz.com/qa/397248.html

回到顶部