我意识到,当我做了一个node.js模块的全局安装(带-g标志)节点不能使用该模块,除非我编写了整个路径。node.js模块路径
我的意思是,这并不工作,如果模块已在全球安装:
cheerio = require('cheerio'),
我必须写:
cheerio = require('/usr/lib/node_modules/cheerio'),
我怎么能告诉节点,它已经在正确的路径中寻找模块?
谢谢。
我意识到,当我做了一个node.js模块的全局安装(带-g标志)节点不能使用该模块,除非我编写了整个路径。node.js模块路径
我的意思是,这并不工作,如果模块已在全球安装:
cheerio = require('cheerio'),
我必须写:
cheerio = require('/usr/lib/node_modules/cheerio'),
我怎么能告诉节点,它已经在正确的路径中寻找模块?
谢谢。
在一般情况下,我会建议让故宫给你的路径,并设置如上所述:
$ echo 'export NODE_PATH="'$(npm root -g)'"' >> ~/.bash_profile && . ~/.bash_profile
我猜如果你在'npmrc'配置文件中有'loglevel = info'(或者其他任何详细信息),这将不起作用,所以要注意那个。将'$(npm root -g)'更改为'$(npm root -g 2>/dev/null)'可能会更好,但这仍然不是通用的,因为只有某些shell遵循STDERR重定向的语法。 – BotNet
'-bash:/Users/abc/.nvm/nvm.shexport:没有这样的文件或目录' –
不要这个命令它会杀死你的NVM! –
您可以添加以下到〜/ .bash_profile:
export NODE_PATH=/usr/lib/node_modules:$NODE_PATH
请参阅http://nodejs.org/api/modules.html#modules_loading_from_the_global_folders –
适用人群与ZSH安装:
echo 'export NODE_PATH="'$(npm root -g)'"' >> ~/.zshrc && . ~/.zshrc
对于那些在Windows PLA TForm的系统变量添加到您的PATH:
C:\Users\<username>\AppData\Roaming\npm
PS:我们大多数人(或某些)项目文件夹中安装模块通过将模块作为软件包的依赖在Windows 8.1
您必须在Users \和\ AppData之间包含“UserName”。这个配置应该包含在你的usser系统变量中。然后你需要关闭会话并重新启动以查看控制台中的更改 – edrian
在我的情况下,运行Windows 8.1时,它是'npm-cache'而不是'npm'。 –
@edrian在原始答案中实际上有一个占位符,但是由于没有将其标记为代码,“标记”被删除。现在已修复 –
节点,测试以.json。所以在部署期间,您可以上传源代码并在服务器中为模块执行npm install或部署整个项目文件夹。 好处是不会有依赖关系来照顾不同的项目。我将集中lib的PHP Java而不是节点。 – wayne