簡體   English   中英

如何在我的項目中從 npm 切換到 yarn?

[英]How do I switch from npm to yarn in my project?

我在嘗試從項目中的 npm 切換到紗線時遇到問題。 我嘗試下載紗線,但我仍然得到 npm 來啟動我的項目。 我需要切換,因為我正在處理的項目需要它是紗線,所以我可以添加一個 maven 前端插件來綁定我的后端和前端以進行部署。

在此處輸入圖像描述

1.
<frontend-maven-plugin.version>1.6</frontend-maven-plugin.version>
<node.version>v10.13.0</node.version>
<yarn.version>v1.12.1</yarn.version>

2.
<profiles>
    <profile>
        <id>demo</id>
        <build>
            <plugins>

                <plugin>
                    <groupId>com.github.eirslett</groupId>
                    <artifactId>frontend-maven-plugin</artifactId>
                    <version>${frontend-maven-plugin.version}</version>
                    <configuration>
                        <workingDirectory>src/js</workingDirectory>
                    </configuration>
                    <executions>
                        <execution>
                            <id>install node</id>
                            <goals>
                                <goal>install-node-and-yarn</goal>
                            </goals>
                            <configuration>
                                <nodeVersion>${node.version}</nodeVersion>
                                <yarnVersion>${yarn.version}</yarnVersion>
                            </configuration>
                        </execution>
                        <execution>
                            <id>yarn install</id>
                            <goals>
                                <goal>yarn</goal>
                            </goals>
                            <phase>generate-resources</phase>
                        </execution>
                        <execution>
                            <id>yarn test</id>
                            <goals>
                                <goal>yarn</goal>
                            </goals>
                            <phase>test</phase>
                            <configuration>
                                <arguments>test</arguments>
                                <environmentVariables>
                                    <CI>true</CI>
                                </environmentVariables>
                            </configuration>
                        </execution>
                        <execution>
                            <id>yarn build</id>
                            <goals>
                                <goal>yarn</goal>
                            </goals>
                            <phase>compile</phase>
                            <configuration>
                                <arguments>build</arguments>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
                <plugin>
                    <artifactId>maven-resources-plugin</artifactId>
                    <executions>
                        <execution>
                            <id>copy-resources</id>
                            <phase>process-classes</phase>
                            <goals>
                                <goal>copy-resources</goal>
                            </goals>
                            <configuration>
                                <outputDirectory>${basedir}/target/classes/static</outputDirectory>
                                <resources>
                                    <resource>
                                        <directory>src/js/build</directory>
                                    </resource>
                                </resources>
                            </configuration>
                        </execution>
                    </executions>
                </plugin>
            </plugins>
        </build>
    </profile>
</profiles>

Link1 https://github.com/amigoscode/spring-boot-react-fullstack/blob/app-0/course-files/profiles.txt Link2 https://github.com/eirslett/frontend-maven-plugin

完整的簡單一步一步的答案:

  1. 安裝紗npm i -g yarn
  2. Go 到你安裝包並運行yarn命令的目錄
  3. Yarn 將初始化並創建它的yarn.lock文件,現在刪除package-lock.json * Note
  4. 在您的package.json文件中,在"scripts"中替換所有npm yarn的命令** Note
  5. 運行yarn dev或你用來運行 yarn 腳本的任何命令=> DONE

* Note:重要的是你不要在yarn命令之前刪除它(正如一些人建議的那樣)它會破壞一些東西,例如你的yarn命令甚至不會工作,它會拋出錯誤:

Error: ENOENT: no such file or directory, open './package-lock.json'

** Note:如果您使用

 "preinstall": "npx npm-force-resolutions",

你可以刪除它,yarn 默認情況下會采取"resolutions" ,而不需要強制:)

這很簡單; 遵循這些說明:

  1. 驗證Yarn是否已全局安裝在您的機器上,否則使用npm install -g yarn安裝它。
  2. Go 到您的項目根目錄並在 CLI 上鍵入yarn Yarn can consume the same package.json format as npm, and can install any package from the npm registry.

有關更多詳細信息,請查看官方 yarn 文檔

只要您的計算機中安裝了 yarn,您無需執行任何操作即可從 npm 切換到 yarn。 同樣要使用 yarn 安裝包,你應該運行命令yarn而不是yarn install ,它等同於npm install 因為 yarn 不是一個獨立的庫。 Yarn 只是一個新的 CLI 客戶端,它從 npm 注冊表中獲取模塊。 注冊表本身不會發生任何變化——您仍然可以正常獲取和發布包。

有關紗線的更多信息,您應該閱讀

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM