ilu*_*ton 91 macos bash terminal npm gulp
我安装了gulp(全局),它看起来很有效,因为它运行了这段代码:
??? tildify@0.2.0
??? interpret@0.3.5
??? pretty-hrtime@0.2.1
??? deprecated@0.0.1
??? archy@0.0.2
??? minimist@0.2.0
??? semver@2.3.2
??? orchestrator@0.3.7 (stream-consume@0.1.0, sequencify@0.0.7, end-of-stream@0.1.5)
??? chalk@0.5.1 (escape-string-regexp@1.0.1, ansi-styles@1.1.0, supports-color@0.2.0, strip-ansi@0.3.0, has-ansi@0.1.0)
??? gulp-util@2.2.20 (lodash._reinterpolate@2.4.1, dateformat@1.0.8-1.2.3, vinyl@0.2.3, through2@0.5.1, multipipe@0.1.1, lodash.template@2.4.1)
??? liftoff@0.12.0 (extend@1.2.1, minimist@0.1.0, resolve@0.7.4, findup-sync@0.1.3)
??? vinyl-fs@0.3.5 (graceful-fs@3.0.2, lodash@2.4.1, mkdirp@0.5.0, strip-bom@0.3.1, vinyl@0.2.3, through2@0.5.1, glob-watcher@0.0.6, glob-stream@3.1.14)
Run Code Online (Sandbox Code Playgroud)
但是当我打字gulp时说-bash: gulp: command not found
知道发生了什么事吗?
ilu*_*ton 162
事实证明npm安装在错误的目录中,因此我必须通过运行以下代码来更改"npm config prefix":
npm config set prefix /usr/local
Run Code Online (Sandbox Code Playgroud)
然后我重新安装gulp全局(使用-g param)并且它正常工作.
这篇文章是我找到解决方案的地方:http://webbb.be/blog/command-not-found-node-npm
the*_*hme 55
不确定为什么这个问题被投票,但我有同样的问题,并按照建议解决问题的博客文章.我应该补充的一点是,就我而言,一旦我跑了:
npm config set prefix /usr/local
Run Code Online (Sandbox Code Playgroud)
我确认了npm root -g被指向/usr/local/lib/node_modules/npm,但为了安装gulp在/usr/local/lib/node_modules,我不得不使用sudo:
sudo npm install gulp -g
Ste*_*erg 21
如果你正在使用tcsh(这是我在Mac OS X上的默认shell),你可能只需要rehash在安装完成后输入shell:
npm install -g gulp
Run Code Online (Sandbox Code Playgroud)
紧接着是:
rehash
Run Code Online (Sandbox Code Playgroud)
否则,如果这是您第一次安装gulp,您的shell可能无法识别安装了新的可执行文件 - 因此您需要启动新的shell,或者键入rehash当前的shell.
(对于您全局安装的每个命令,这基本上都是一次性的.)
小智 16
我意识到这是一个老线程,但是对于Future-Me和后代,我想我应该在"运行npm as sudo"讨论中添加我的2美分.免责声明:我不使用Windows.这些步骤仅在非Windows机器上进行了验证,包括虚拟和物理.
您可以通过将权限更改为npm的默认目录来避免使用sudo.
sudonpm config get prefix /usr/local/usr或/Users/YOURUSERNAME/node_modules或/Something/Else/FishyLookingnpm config set prefix /usr/local
sudo chown -R $(whoami) $(npm config get prefix)/{lib/node_modules,bin,share} 现在你应该可以npm <whatever>不用了sudo.注意:您可能需要重新启动终端才能使这些更改生效.
我遇到了类似的问题,我执行了以下步骤,并且成功了。转到mac终端并执行命令,
1. npm config设置前缀/ usr / local
2. sudo chown -R $(whoami)$(npm config获取前缀)/ {lib / node_modules,bin,share}
这两个命令将正确设置npm路径,您不再需要在npm中使用sudo。接下来卸载gulp
npm卸载gulp
再次不使用sudo再次安装gulp,npm install gulp -g
这应该工作!!
| 归档时间: |
|
| 查看次数: |
102411 次 |
| 最近记录: |