使用 Ubuntu 13.10
我正在尝试使用 来安装 yeoman sudo npm install -g yo
,但它似乎无法全局工作,npm
并且nodejs
都已安装,但我不确定它们是否已正确安装以供全局使用。我无法使用,npm
我必须使用sudo npm
为了安装 node js,我使用了
$ sudo apt-get install python-software-properties
$ sudo apt-add-repository ppa:chris-lea/node.js
$ sudo apt-get update
$ sudo apt-get install nodejs
当我使用sudo npm install -g yo
输出时,我得到的是
/usr/bin/yo -> /usr/lib/node_modules/yo/cli.js
> [email protected] postinstall /usr/lib/node_modules/yo
> node ./scripts/doctor
[Yeoman Doctor] Everything looks alright!
[email protected] /usr/lib/node_modules/yo
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected]
├── [email protected] ([email protected])
├── [email protected] ([email protected])
├── [email protected] ([email protected])
├── [email protected] ([email protected], [email protected], supports- [email protected], [email protected], [email protected])
├── [email protected] ([email protected])
├── [email protected] ([email protected], [email protected])
├── [email protected] ([email protected], [email protected], [email protected], word-
[email protected], [email protected], [email protected], [email protected], [email protected])
├── [email protected] ([email protected], [email protected],
[email protected])
├── [email protected] ([email protected], [email protected], [email protected],
[email protected], [email protected], [email protected], [email protected])
└── [email protected] ([email protected], [email protected], [email protected],
[email protected], [email protected], [email protected], [email protected], [email protected],
[email protected], [email protected], [email protected], [email protected],
[email protected], [email protected], [email protected], [email protected], file-
[email protected], [email protected], [email protected], [email protected], gruntfile-
[email protected], [email protected])
因此,看起来 yeoman 安装正确,但它无法正常工作 - 当我输入 yo 时,什么也没有发生...我需要将 yo 放入我的 中吗$PATH
?我不太确定该怎么做。此外,我该如何配置npm
才能不必使用sudo npm
?
答案1
值得注意的是,Ubuntu 13.10 不再受官方支持,但这对这些说明不会产生太大影响。
不使用 sudo 的 npm
首先,让我们理清权限问题。Ubuntu 的大多数 Node.js 安装指南都指示您从官方存储库或 chris-lea PPA 安装 Node.js。无论哪种方式,您最终都会使用 安装 Node.js 和 NPM sudo
,这会导致开发机器上的权限混乱。
有StackOverflow 上的一个问题关于如何“修复”这些权限,尽管在大多数情况下,您必须让您的用户成为的所有者/usr/local/lib/node_modules
,这是非常粗略的。
相反,我认为迄今为止最好的答案是使用 NVM 安装 Node.js。除了允许您在同一台计算机上运行多个版本的 Node.js 之外,此选项还将所有内容保留在您的主文件夹中,因此您的用户拥有 NPM,而您不必为 而烦恼sudo npm
。
使用 Yo
一旦您的权限被整理好,您安装和运行 Yeoman()的所有步骤都npm install -g yo
应该可以正常工作。
nvm use v0.10
但是,每次启动新的终端会话时,您都必须运行它。您可以通过在您的终端中添加一个脚本来解决这个问题.bashrc
,该脚本将在每个会话开始时自动为您运行它,
答案2
你应该检查一下邮政
它解决了这个问题