节点版本管理器(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