启动tmux时出现NPM/NVM错误:NVM与NPM配置不兼容;前缀";选项:当前设置为"&引用;
当我使用启动tmux时出现NPM/NVM错误:NVM与NPM配置不兼容;前缀";选项:当前设置为"&引用;,npm,tmux,nvm,Npm,Tmux,Nvm,当我使用tmux、tmux new或tmux new session启动一个新的tmux会话时,我得到以下错误: module.js:549 throw err; ^ Error: Cannot find module '../lib/utils/unsupported.js' at Function.Module._resolveFilename (module.js:547:15) at Function.Module._load (module.js:47
tmux
、tmux new
或tmux new session
启动一个新的tmux会话时,我得到以下错误:
module.js:549
throw err;
^
Error: Cannot find module '../lib/utils/unsupported.js'
at Function.Module._resolveFilename (module.js:547:15)
at Function.Module._load (module.js:474:25)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at /usr/local/lib/node_modules/npm/bin/npm-cli.js:19:21
at Object.<anonymous> (/usr/local/lib/node_modules/npm/bin/npm-cli.js:153:3)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
nvm is not compatible with the npm config "prefix" option: currently set to ""
Run `npm config delete prefix` or `nvm use --delete-prefix v10.8.0 --silent` to unset it.
这似乎是npm的一个问题,因为当我运行npm--help
时,也会出现.js错误。然而,这只发生在tmux中
有什么解决办法吗?我认为你应该跑步 npm安装 这应该能奏效 修正:看起来这可能是特定于macOS如何处理的 每个bash shell上的路径。添加建议的路径清除逻辑 到我的个人资料文件修复了这个问题 在tmux上也看到了这一点,通过curl脚本安装了nvm 奇怪的是,当我在tmux中和在我的shell(zsh)中时,我似乎在使用不同版本的npm。当我在tmux中,做一个npm导致
/usr/local/bin/npm
而在zsh中,它是/Users/brett/.nvm/versions/node/v10.8.0/bin/npm
这似乎与tmux重新加载我的配置文件,并向$PATH追加更多路径有关
看这里:Bash在tmux中作为登录shell启动。在macOS上,它是~/.bash_配置文件,而不是~/.bashrc
您是否已尝试将
源~/.bashrc
添加到~/.bash_配置文件中?以下是另一种可能的解决方案:
$ npm config delete prefix
$ npm config set prefix $NVM_DIR/versions/node/v6.11.1
这将删除并重置前缀,您可以稍后编辑。在互联网上挖掘后,我找到了一些公认的答案: 再次尝试配置$NVM_DIR引用 例如,nvm使用v7.10.0,出现错误:运行
npm config delete prefix
或nvm use--delete prefix v7.10.0--silent
将其取消设置
您需要覆盖nvm前缀
npm配置集前缀$NVM_DIR/versions/node/v7.10.0
或
nvm unalias default
如果您使用的是bash以外的任何其他shell,请确保以这种方式配置tmux:
# set default shell to zsh
set -g default-command /bin/zsh
set -g default-shell /bin/zsh
这为我解决了问题
或
nvm unalias default
注释掉shell文件中的以下代码(例如~/.zshrc):
注销您的帐户并登录
取消上述代码和源shell文件的插入
或
nvm unalias default
我也只在MacOS上发现了这个问题。在Linux上运行良好。即使在MacOS上,npm和node也可以很好地工作(我没有得到你所做的JS错误),但是一旦shell启动,我就会得到
nvm与…
不兼容的消息。它还运行node的系统版本,我可以使用不同版本的nvm。但奇怪的是,为什么只有在没有通过brew安装节点的情况下才会发生这种情况。这个问题是关于杰夫普克特的。你查过了吗?没有具体的解决方案,对不起,这些解决方案都不适合我。你能复制它吗?它只在“Mac”上出现问题吗?它在Mac上运行良好。只发生在Mac上的tmux内部。对不起,这对我不起作用。这将在shell启动时立即显示。您是否能够使用nvm
再现错误?是的,两个都是源代码。同样的问题。你能重现原来的错误吗?我希望这会有所帮助!谢谢,但是如果你阅读了最初发布的问题,你应该会发现这已经尝试过了,但在这里不起作用。你可以看看这个链接(第二个答案,55票):那么我不知道如何解决这个问题,对不起!谢谢你的回答,但这些都不行。你能重现这个问题吗?