node.js – 节点版本管理器(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的评论:

When installing packages with npm using the global switch -g the
package ends up in the proper directory (i.e.
.nvm/$VERSION/lib/node_modules), however node is unable to require it
since it somehow isn’t searching on it’s prefix.

所以使用npm install -g xxxxx将把模块放在NVM的正确位置,但是如果你试图要求其中的一个节点找不到模块.我仍然在玩这个,如果我找到一个解决方案将更新.

更新

NPM放在哪里node_modules? (见https://docs.npmjs.com/files/folders)

>本地安装(默认):将东西放在当前包根的./node_modules中.
>全局安装(使用-g):将东西放在/usr/local或安装位置.
如果要要()安装它,请在本地安装.
如果要在命令行中运行它,请将其全局安装.
>如果您需要两者,请将其安装在两个地方,或使用npm链接.

所以我所做的是在我生成package.json的项目根目录下运行npm init(见http://npmjs.org/doc/init.html).现在,当我运行npm安装xxxxx它在我的项目文件夹(我添加到我的.gitignore)中创建一个node_modules目录.这适用于我在代码中需要的模块.

对于像CoffeeScript这样的命令,我用npm install -g coffee-script安装它,将其放在正确的目录(.nvm / $VERSION / lib / node_modules)中.虽然我不能要求这些模块(npm链接应该解决这个问题)我可以运行命令 – 即咖啡.

相关文章
相关标签/搜索