当前位置: 首页 > 面试题库 >

npm install无法在/ usr / bin中安装东西

单于淇
2023-03-14
问题内容

我正在尝试使用以下方法安装SailsJS:

$ sudo npm install -g sails

它可以正常工作,并使用以下日志在/ home / brunoluiz / npm / lib / node_modules / sails中安装所有html" target="_blank">组件:

/home/brunoluiz/npm/bin/sails -> /home/brunoluiz/npm/lib/node_modules/sails/bin/sails.js
sails@0.9.16 /home/brunoluiz/npm/lib/node_modules/sails
├── connect-flash@0.1.1
├── pluralize@0.0.5
├── inflection@1.2.5
├── grunt-sails-linker@0.9.5
├── grunt-contrib-clean@0.4.1
├── node-uuid@1.4.0
├── async@0.2.9
├── grunt-contrib-concat@0.3.0
├── grunt-contrib-copy@0.4.1
├── grunt-contrib-coffee@0.7.0
├── ejs-locals@1.0.2
├── ejs@0.8.4
├── underscore.string@2.3.0
├── coffee-script@1.6.2
├── lodash@2.4.1
├── i18n@0.4.1 (debug@0.8.0, sprintf@0.1.3)
├── optimist@0.3.4 (wordwrap@0.0.2)
├── include-all@0.1.2 (underscore.string@2.3.1)
├── sails-disk@0.9.3 (waterline-criteria@0.9.7, lodash@2.3.0, fs-extra@0.8.1)
├── fs-extra@0.5.0 (jsonfile@0.0.1, ncp@0.2.7, mkdirp@0.3.5, rimraf@2.1.4)
├── connect-redis@1.4.5 (debug@0.8.0, redis@0.7.3)
├── grunt-contrib-jst@0.5.0 (lodash@1.0.1, grunt-lib-contrib@0.5.3)
├── glob@3.1.14 (inherits@1.0.0, graceful-fs@1.1.14, minimatch@0.2.14)
├── grunt-contrib-cssmin@0.6.1 (grunt-lib-contrib@0.6.1, clean-css@1.0.12)
├── grunt-cli@0.1.9 (resolve@0.3.1, nopt@1.0.10, findup-sync@0.1.3)
├── grunt-contrib-watch@0.4.4 (gaze@0.3.4, tiny-lr@0.0.4)
├── connect-mongo@0.3.2 (mongodb@1.2.14)
├── grunt-contrib-uglify@0.2.2 (grunt-lib-contrib@0.6.1, uglify-js@2.3.6)
├── waterline@0.9.16 (underscore@1.5.2, q@0.9.7, anchor@0.9.12)
├── grunt@0.4.1 (which@1.0.5, dateformat@1.0.2-1.2.3, eventemitter2@0.4.13, colors@0.6.2, hooker@0.2.3, async@0.1.22, nopt@1.0.10, minimatch@0.2.14, lodash@0.9.2, rimraf@2.0.3, coffee-script@1.3.3, underscore.string@2.2.1, iconv-lite@0.2.11, glob@3.1.21, findup-sync@0.1.3, js-yaml@2.0.5)
├── winston@0.7.1 (cycle@1.0.3, stack-trace@0.0.9, eyes@0.1.8, colors@0.6.2, pkginfo@0.3.0, request@2.16.6)
├── express@3.4.0 (methods@0.0.1, debug@0.8.0, range-parser@0.0.4, cookie-signature@1.0.1, fresh@0.2.0, buffer-crc32@0.2.1, cookie@0.1.0, mkdirp@0.3.5, commander@1.2.0, send@0.1.4, connect@2.9.0)
├── grunt-contrib-less@0.9.0 (grunt-lib-contrib@0.6.1, chalk@0.4.0, less@1.6.3)
└── socket.io@0.9.14 (base64id@0.1.0, policyfile@0.0.4, redis@0.7.3, socket.io-client@0.9.11)

问题是当您尝试使用风帆时:sails new project例如,运行,但找不到风帆。经过一点调查,我发现npm不在/ usr /
bin上安装模块。有什么理由吗?一些配置?

业力模块也发生了同样的情况。

我使用了来自ppa的nodejs,为node创建了符号链接,并从正式的install.sh脚本(https://www.npmjs.org/install.sh)安装了npm


问题答案:

听起来您的npm安装配置为使用/home/brunoluiz/npmas prefix,这意味着它将放置符号链接到全局安装的软件包随附的CLI
{prefix}/bin

在默认安装中,prefix/usr/usr/local在Unix平台上(%APPDATA%/npm在Windows上)。

如果{prefix}/bin不在您的中$PATH,您将无法仅按名称执行此类CLI。

要查看有效的当前prefix值,请运行:

npm get prefix

您的选择是:

  • 添加/home/brunoluiz/npm/bin到您的$PATH

  • prefix配置项的值更改为bin子文件夹已在您的文件夹中$PATH;例如:

    npm set prefix /usr       # Ubuntu; CLI symlinks are placed in /usr/bin
    npm set prefix /usr/local # OSX; CLIs symlinks are placed in /usr/local/bin
    

但是请注意,然后必须重新安装全局软件包,才能在新{prefix}\bin位置创建符号链接。



 类似资料:
  • 当我尝试使用运行时,出现以下错误/配置(我正在执行中的步骤http://tomcat.apache.org/tomcat-6.0-doc/setup.html). 错误:*Java编译工具* 正在检查JDK os包含目录。。。在/usr/bin/java/configure中找不到jni_md.h:错误:您应该重试--操作系统类型为SUBDIR jni_md.h文件位于所以我使用了。 我还是犯了一

  • 问题内容: 我在Mac osx 10.7.3中遇到Java的可悲问题。以前我安装了它,并且工作正常。在一段时间后对.bash_profile和.profile文件进行了一些更改之后,出现类似以下错误 每当我尝试在终端上运行“ javac”或“ java”时。 给出类似的输出: 我的.bash_profile看起来像: 输出 它困扰了我很长时间,并且卸载和安装Java并没有帮助我。 我是Mac的新手

  • 我删除了/usr/local/bin文件夹中的所有内容(包括“brew”)。自制软件不再工作了,我似乎陷入了困境。当我尝试安装时,它会显示: 看来自制啤酒已经安装。如果您打算重新安装,则应在再次运行此安装程序之前执行以下操作:ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninsta

  • 我的mac osx 10.7.3中的Java出现了一个可悲的问题。之前我安装了它,它工作正常。经过一段时间对.bash_profile和.profile文件进行了一些更改后,出现了如下错误 每当我试图在终端中运行“javac”或“java”时。 给出如下输出: 我的.bash_profile如下所示: 输出 它困扰了我好几天,卸载和安装java对我的运气没有帮助。 我是Mac中的新手,需要帮助来解

  • 问题内容: 我正在尝试将nodeJs安装到我的Ubuntu 14.04中,以便使用GruntJs。 我已经阅读了有关Ubuntu的不同执行方式(问题?)的信息,因此,为了安装它,我做了以下操作: 在输入咕gr声之后,我得到了错误: 因此,我尝试了: 再试一次,仍然出现错误,我试过了: 我收到此消息: 我确实尝试进行清理,以防万一: 但是没有,错误仍然存​​在:当我键入grunt时,我仍然得到 我该

  • 在Bash脚本的头中,这两个语句之间有什么区别: >