首页 文章

如何使用npm全局安装模块?

提问于
浏览
181

我最近在OSX上安装了Node.js和npm模块,我认为设置有问题:

npm install [MODULE] is not installing the node.js module to the default path 
which is /usr/local/lib/node_modules.

6 回答

  • 2

    如果要全局安装npm模块,请确保使用新的 -g 标志,例如:

    npm install forever -g

    自1.0rc以来关于npm模块安装的一般建议(取自blog.nodejs.org):

    如果您要在程序中安装要使用的东西,请使用require('whatever'),然后在项目的根目录下在本地安装 . 如果您要在shell中安装要在shell中使用的东西,请在命令行或其他东西上安装它,使其二进制文件最终位于PATH环境变量中 .

    我刚刚使用了这些建议,它的运行非常顺利 . 我全局安装(因为它是一个命令行工具)和本地的所有应用程序模块 .

    但是,如果您想全局使用某些模块(即express或mongodb),请采用此建议(也取自blog.nodejs.org):

    当然,在某些情况下,您希望同时执行这两项操作 . Coffee-script和Express都是具有命令行界面的应用程序以及库的良好示例 . 在这些情况下,您可以执行以下操作之一:在两个位置安装它 . 说真的,你的磁盘空间不足吗?真的很好 . 他们是一个很小的JavaScript程序 . 全局安装,然后npm链接coffee-script或npm link express(如果你在支持符号链接的平台上 . )那么你只需要更新全局副本来更新所有的符号链接 . 在我看来,第一种选择是最好的 . 简单,清晰,明确 . 如果要在一堆不同的项目中重用相同的库,第二个非常方便 . (有关未来分期付款的更多信息,请参阅npm链接 . )

    我没有测试其中一个变体,但它们似乎非常简单 .

  • -1

    您可能没有写入权限来在全局位置安装节点模块,例如 /usr/local/lib/node_modules ,在这种情况下以root身份运行npm install -g package .

  • 4

    我在Ubuntu上安装Express时遇到问题:

    如果由于某种原因缺少NPM命令,请使用 npm help 测试npm命令 . 如果没有,请按照下列步骤操作 - http://arnolog.net/post/8424207595/installing-node-js-npm-express-mongoose-on-ubuntu

    如果只是Express命令不起作用,请尝试:

    sudo npm install -g express
    

    这使得一切正常,因为我习惯使用Windows7和OSX .

    希望这可以帮助!

  • 324

    在Ubuntu中,在 .bashrc 文件中设置node_modules的路径

    export PATH =“/ home / username / node_modules / .bin:$ PATH”

  • 8

    我喜欢在app文件夹的根目录中使用package.json文件 .

    这是我用的一个

    nvm use v0.6.4
    

    http://pastie.org/3232212

    npm install
    
  • -5

    在Mac上,我发现输出包含我正在寻找的信息:

    $> npm install -g karma
    ...
    ...
    > ws@0.4.25 install /usr/local/share/npm/lib/node_modules/karma/node_modules/socket.io/node_modules/socket.io-client/node_modules/ws
    > (node-gyp rebuild 2> builderror.log) || (exit 0)
    ...
    $> ls /usr/local/share/npm/bin
    karma nf
    

    /usr/local/share/npm/bin 添加到我的 .bash_profile 中的 export PATH 行后,将其保存,然后 source ,它能够运行

    $> karma --help
    

    一般 .

相关问题