我在本地环境遇到了一些问题。
我使用的工具包括:
- homebrew(版本号1.1.4) - fish shell(版本号2.4) - n 版本管理器(版本号2.1.0) - node - npm
以上所有工具都是最初通过homebrew安装的。
具体问题如下:
- 无法运行任何全局安装的模块。 - 我无法更新npm版本。
我经常使用的node版本为0.10.48和6.9.2,但大多数是4.6.2。
我已经在fish中创建了一些别名以便能够运行全局模块。然而,我更希望解决根本原因,而不是继续采用其他方法来修复问题。
额外信息:
当我尝试调用全局模块时:
我使用的工具包括:
- homebrew(版本号1.1.4) - fish shell(版本号2.4) - n 版本管理器(版本号2.1.0) - node - npm
以上所有工具都是最初通过homebrew安装的。
具体问题如下:
- 无法运行任何全局安装的模块。 - 我无法更新npm版本。
我经常使用的node版本为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
非常感谢您提供的任何帮助!我已经尝试了一段时间,但仍然没有解决问题!
/Users/me/.npm-packages/bin/
不在PATH
中。请问echo $PATH
是否包含/Users/me/.npm-packages/bin/
? - ridiculous_fishecho $PATH
显示的内容有冒号吗?(不应该有,而应该是以空格为分隔符)如果没有冒号,则gulp
必定在其他地方。在gulp
可用的环境中运行which gulp
命令会显示什么? - ridiculous_fishecho $PATH ~> /Users/me/.npm-packages /usr/local/bin /usr/bin /bin /usr/sbin /sbin
我尝试了which gulp
(和其他模块),但都没有返回值。我在 fish shell 和 bash 中都尝试了。 - kurt343nvm use default
,请参见https://github.com/fisherman/nvm/issues/11 - fanaugen