Dyl*_*guy 6 bash node.js npm cordova ionic-framework
sudo,通过我在一些论坛上看到的外观,为什么我sudo ionic emulate ios在这篇文章中运行时出现错误新的离子 - 无法在El Capitan上为ios(9)构建,并且需要sudo ionic,不推荐使用npmconf.(我正在运行El Capitan btw).
每当我需要使用离子,npm或cordova命令时,我总是要放在sudo它前面,否则我会收到"bash command not found"错误.我试图使用此修复程序https://www.npmjs.com/package/npm-sudo-fix但它不起作用.这是日志中发生的事情:
Dylans-MBP:Ionic Projects Dylan $ sudo npm install -g npm-sudo-fix
Password:
/usr/local/bin/npm-sudo-fix -> /usr/local/lib/node_modules/npm-sudo-fix/index.js
npm-sudo-fix@0.1.3 /usr/local/lib/node_modules/npm-sudo-fix
??? spawny@0.0.1 (cmdify@0.0.4)
Dylans-MBP:Ionic Projects Dylan$ sudo npm-sudo-fix
chown: /users/root/.npm: No such file or directory
Run Code Online (Sandbox Code Playgroud)
Dyl*_*guy 14
编辑(2018年8月28日):
多年前我写这篇文章并回答我对终端不太熟悉的问题.既然我更有经验,我可以推荐更好的解决方案.避免不必要的sudo使用是一种好习惯.
我认为问题是由安装程序从节点JS网站安装节点JS引起的.这个版本的节点JS似乎以root身份在文件系统中编写各种文件,可能(并且不必要地)导致全局包需要安装root权限.
理想的解决方案是从您的机器上完全删除从网站上的节点JS安装程序安装的节点JS(请参阅https://stackabuse.com/how-to-uninstall-node-js-from-mac- osx /).然后从命令行包管理器安装节点,例如homebrew.
原答案(2016)
终于通过玩权限想出了一个解决方案!希望我没有填充任何东西.(我是一个终端noob btw.)无论如何,这是解决方案.
在终端中运行此代码(您可能需要也可能不必先运行cd ..)
sudo chown -R $USER /usr/local/
Run Code Online (Sandbox Code Playgroud)
这会更改本地文件夹中每个内容的权限(因此-R这意味着递归).(我在离子论坛的某个地方发现了这条线).
现在,你必须重新安装cordova和离子
sudo npm install -g cordova
sudo npm install -g ionic
Run Code Online (Sandbox Code Playgroud)
无论如何,对我来说,在我这样做之后,我可以输入ionic并且不会出现任何错误.如果我跑,我会在终端得到这个cordova.
/usr/local/lib/node_modules/cordova/node_modules/update-notifier/node_modules/configstore/index.js:53
throw err;
^
Error: EACCES: permission denied, open '/Users/Dylan/.config/configstore/update-notifier-cordova.json'
You don't have access to this file.
Run Code Online (Sandbox Code Playgroud)
我做的是解决这个问题(打开一个新的终端窗口后):
sudo chown -R $USER Dylan
Run Code Online (Sandbox Code Playgroud)
(Dylan是我的用户文件夹;用你的用户文件夹替换它.另外,你可能必须cd ..在运行该行之前做一个修复该配置文件的权限.现在运行cordova没有错误!Woot!那个错误可能会回来,所以你必须再次运行该行代码.
希望这有助于某人!
| 归档时间: |
|
| 查看次数: |
4020 次 |
| 最近记录: |