如何保留前缀:npm config设置前缀/ usr / local

时间:2019-10-24 19:04:37

标签: node.js ionic-framework npm npm-install

我在解决“ ionic: command not found”问题时遇到了麻烦。

我找到了建议尝试的帖子:npm config set prefix /usr/local

但是我偶然输入了“ npm config set prefix /usr/loca”。

现在,如果我尝试运行任何npm命令,它将只会引发错误:

Error: EPERM: operation not permitted, mkdir '/usr/loca'
TypeError: Cannot read property 'get' of undefined
    at errorMessage (/usr/local/lib/node_modules/npm/lib/utils/error-message.js:38:39)
    at errorHandler (/usr/local/lib/node_modules/npm/lib/utils/error-handler.js:201:13)
    at /usr/local/lib/node_modules/npm/bin/npm-cli.js:78:20
    at cb (/usr/local/lib/node_modules/npm/lib/npm.js:225:22)
    at /usr/local/lib/node_modules/npm/lib/npm.js:263:24
    at /usr/local/lib/node_modules/npm/lib/config/core.js:81:7
    at Array.forEach (<anonymous>)
    at /usr/local/lib/node_modules/npm/lib/config/core.js:80:13
    at f (/usr/local/lib/node_modules/npm/node_modules/once/once.js:25:25)
    at afterExtras (/usr/local/lib/node_modules/npm/lib/config/core.js:171:20)
/usr/local/lib/node_modules/npm/lib/utils/error-handler.js:97
  var doExit = npm.config.loaded ? npm.config.get('_exit') : true
                          ^

TypeError: Cannot read property 'loaded' of undefined
    at exit (/usr/local/lib/node_modules/npm/lib/utils/error-handler.js:97:27)
    at process.errorHandler (/usr/local/lib/node_modules/npm/lib/utils/error-handler.js:216:3)
    at process.emit (events.js:210:5)
    at process._fatalException (internal/process/execution.js:150:25)

有什么办法可以解决这个问题?

一吨!

2 个答案:

答案 0 :(得分:0)

您可以将空格后的用户名字符串中的空格替换为“〜1”。

npm config set cache "C:\Users\Firstname~1\AppData\Roaming\npm-cache" --global

希望这会对您有所帮助。快乐编码:)

答案 1 :(得分:0)

我花了大约 2 个小时才弄清楚这一点。认为它可能会帮助面临类似问题的人。

问题在于:

% npm config set prefix /usr/loca

从上面可以看出,我忘记了导致 npm config 将我的“前缀”设置为 /usr/loca 的行末尾的字母“l”[这是我对这个问题的理解。我是 Node 世界的新手,请随时纠正我]

现在,当我尝试运行时 -

% npx create-react-app myApp

我收到一个错误 -

<块引用>

错误:EPERM:不允许操作,mkdir '/usr/loca'

因为没有名为“loca”的目录。 关于禁用 SIP 使其工作的建议很少,但我认为这不是一个好主意。无论如何,这是我为解决问题所采取的步骤 -

第 1 步:在您的终端上输入 --> sudo -I

进入 root 帐户

第 2 步:输入您的 root 凭据密码

第 3 步:强制清除 npm 缓存 --> npm cache clean --force

第四步:安装最新的npm --> npm install -g npm@latest --force

第五步:再次清除 npm cache --> npm cache clean --force

第 6 步:您现在应该好了。检查你的 npm 版本 --> rpm -v

第 7 步:从 root 中“退出”

第八步:这次正确设置前缀 --> npm config set prefix /usr/local

第 9 步:npx create-react-app 客户端

第 10 步:输入“Y”以安装 create-react-app 包

如果一切顺利,您应该会在最后一行看到“Happy Hacking”消息。