npm - Fish shell 和全局 npm 模块

标签 npm fish

我的本​​地环境遇到一些问题。

我正在使用:

  • 自制程序 (1.1.4)
  • fish shell (2.4)
  • 版本管理器 (2.1.0)
  • 节点
  • npm

以上所有内容最初都是通过自制软件安装的。

问题:

  • 无法运行任何全局安装的模块。
  • 我无法更新 npm 版本。

我经常使用的节点版本是 0.10.48 和 6.9.2 - 但主要是 4.6.2。

我在fish中创建了一些别名,以便能够运行全局模块。不过,我更愿意解决根本原因,而不是继续使用更多创可贴。

额外信息:

~> npm config get prefix
/Users/me/.npm-packages

~> npm bin
/Users/me/node_modules/.bin

当我尝试更新 npm 时会发生什么:

~> npm install -g npm@3
/Users/me/.npm-packages/bin/npm -> /Users/me/.npm-packages/lib/node_modules/npm/bin/npm-cli.js
npm@3.10.10 /Users/me/.npm-packages/lib/node_modules/npm
~> npm -v
2.15.9

当我尝试调用全局模块时:

~> gulp
fish: Unknown command 'gulp'

我为修复全局模块所做的尝试:

~> cat ~/.config/fish/config.fish
set fish_user_paths /Users/me/.npm-packages

ls ~/.config/fish/functions
bower.fish ember.fish pm2.fish

~> cat ~/.config/fish/functions/bower.fish 
function bower
    /Users/me/.npm-packages/bin/bower  $argv;
end

如果您能提供任何帮助,我们将不胜感激!我已经尝试解决这个问题有一段时间了,但没有成功!

最佳答案

您可以使用已安装的 npm 模块。您只需将 npm 全局路径添加到 shell 即可。为此,我运行了:

$ npm config get prefix
// Output: /usr/local/Cellar/node/9.2.1

然后,添加到我的fish/config.fish:

set PATH /usr/local/Cellar/node/9.2.1/bin $PATH

这是Github related link这帮助我解决了问题。

关于npm - Fish shell 和全局 npm 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41138547/

相关文章:

shell - fish shell : Shortcut for accept and run command suggestion

linux - 如何在 Tmux 中打开每个新窗口时显示消息?

macos - 如何在 Mac 上设置默认 shell,例如 fish ?

command-line-interface - fish shell : Chaining commands to be run as a background job

bash - 切换到 zsh shell -- `ls` 结束终端选项卡

node.js - 使用 npm 安装 multer 包时出错

node.js - 设置私有(private) NPM feed 并发布包

javascript - 如何使用 npm.commands.test 功能

node.js - 为不同的git分支创建特定的node_modules目录

javascript - 无法对 npm.fontawesome.com 注册表进行身份验证以安装专业包